Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 2.26 KB

File metadata and controls

50 lines (39 loc) · 2.26 KB

تابع

در این بخش به صورت مختصر به توضیح تابع می‌پردازیم. توضیحات بیشتر درباره تابع در بخش شی‌گرایی داده خواهدشد.

تابع در پایتون مانند تابع در ریاضیات و بقیه زبان‌ها، شامل یک یا چند ورودی که به آن‌ها آرگومان (argument) گفته می‌شود و یک خروجی است که با انجام مجموعه‌ای از محاسبات این خروجی‌ تولید می‌شود.

برای ساختن یک تابع در پایتون از کلید‌واژه‌ def و برای خروجی دادن از کلیدواژه return استفاده می‌کنیم. شکل کلی تعریف تابع در پایتون به شکل زیر است:

def function(arg1, arg2, ...):
    # statments and return
    pass

برای ورودی‌ها و یا خروجی‌ در پایتون جنس خاصی در نظر گرفته نمی‌شود. برای نمونه در مثال زیر ورودی تابع هم می‌تواند عدد باشد و هم می‌تواند رشته (string) باشد.

>>> def f(n):
...     return n+n
... 
>>> f(2)
4
>>> f('2')
'22'

توجه کنید که عملگر +‍ در رشته‌ها، آن‌ها را به هم می‌چسباند و در مثال بالا هم '2' به خودش چسبیده و خروجی تابع '22' شده است.

در پایتون تابع یک شی‌ء کلاس‌-اول (first-class) است. فرض کنید یک تابع به نام f دارید، سپس متغیر g را برابر با f قرار می‌دهید. حالا g دقیقا مانند f عمل می‌کند. نوعی که پایتون برای توابع در نظر می‌گیرد function است.

برای درک این موضوع به مفسر زیر دقت کنید :

>>> def f(a):
...     return a
... 
>>> f(10)
10
>>> g = f
>>> g(10)
10
>>> type(g)
<class 'function'>
>>> f(f(10))
10
>>> f(f)(10)
10

توجه : خروجی f(f) خود تابع f است (تابع f به گونه‌ای تعریف شده است که هر آرگومانی که می‌گیرد همان را برمی‌گرداند). در نتیجه f(f)(10) برابر با f(10) است.