توابع (Functions)
تابع (Function
) در پایتون یک بلوک کد است که تنها زمانی اجرا می شود که فراخوانی شود. شما می توانید داده ها را به عنوان «پارامتر» یا «آرگومان» به توابع ارسال کنید و همچنین خروجی دریافت کنید.
ایجاد تابع
برای تعریف یک تابع از کلیدواژه def
استفاده می شود:
def my_function():
print("Hello from a function")
فراخوانی تابع
برای اجرای تابع کافی است نام تابع و پرانتزها را بنویسید:
def my_function():
print("Hello from a function")
my_function()
آرگومان ها
آرگومان ها داده هایی هستند که هنگام فراخوانی به تابع ارسال می شوند:
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
نکته: آرگومان ها در مستندات پایتون اغلب به صورت args نوشته می شوند.
تعداد آرگومان ها
تعداد آرگومان ها باید دقیقاً مطابق تعریف تابع باشد؛ در غیر این صورت خطا ایجاد می شود.
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
آرگومان های دلخواه (*args)
با استفاده از *
می توانید تعداد نامشخصی آرگومان دریافت کنید:
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")
آرگومان های کلیدی (kwargs)
می توانید آرگومان ها را با کلید=مقدار ارسال کنید:
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1="Emil", child2="Tobias", child3="Linus")
نکته: در مستندات پایتون معمولاً به صورت kwargs نوشته می شود.
مقادیر پیش فرض
می توانید برای پارامترها مقدار پیش فرض تعریف کنید:
def my_function(country = "Norway"):
print("I am from " + country)
my_function("Sweden")
my_function()
بازگشت مقدار
برای برگرداندن خروجی از دستور return
استفاده کنید:
def my_function(x):
return 5 * x
print(my_function(3))
بازگشت بازگشتی (Recursion)
تابع می تواند خودش را صدا بزند. این ویژگی به نام بازگشت (Recursion) شناخته می شود و در مسائل ریاضی بسیار پرکاربرد است:
def tri_recursion(k):
if k > 0:
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result
tri_recursion(6)
هشدار: در استفاده از بازگشت دقت کنید، زیرا ممکن است منجر به مصرف زیاد حافظه شود.
ادامه یادگیری
برای یادگیری بیشتر درباره توابع پیشرفته، به بخش دکوراتورهای پایتون مراجعه کنید. همچنین برای مرور حلقه ها به بخش حلقه for در پایتون برگردید.