Python – توابع (Functions)
توابع در پایتون
توابع در پایتون بلوکی از کدها هستند که فقط زمانی اجرا میشوند که فراخوانی شوند. دادهها میتوانند به عنوان پارامتر به توابع ارسال شوند و همچنین تابع میتواند مقداری را به عنوان نتیجه برگرداند.
ایجاد یک تابع
برای تعریف تابع از کلمه کلیدی 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")
my_function("Linus")
تفاوت پارامتر و آرگومان
از دیدگاه تابع:
- پارامتر: متغیری است که در تعریف تابع داخل پرانتز ذکر میشود.
- آرگومان: مقداری است که هنگام فراخوانی تابع ارسال میشود.
تعداد آرگومانها
تعداد آرگومانهای ارسالی باید با تعداد پارامترهای تابع مطابقت داشته باشد.
مثال:
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")
آرگومانهای کلیدی
میتوانید مقدار پیشفرض برای یک پارامتر تعیین کنید.
مثال:
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1="Emil", child2="Tobias", child3="Linus")
آرگومانهای کلیدی دلخواه (**kwargs)
برای ارسال تعداد دلخواه آرگومانهای کلیدی از **
قبل از نام پارامتر استفاده کنید.
مثال:
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname="Tobias", lname="Refsnes")
مقدار پیشفرض پارامتر
میتوانید مقدار پیشفرض برای یک پارامتر تعیین کنید.
مثال:
def my_function(country="Norway"):
print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
ارسال لیست به عنوان آرگومان
هر نوع دادهای (مثل لیست، دیکشنری و …) را میتوان به عنوان آرگومان به تابع ارسال کرد.
مثال:
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
بازگشت مقادیر از تابع
برای بازگرداندن مقداری از یک تابع، از دستور return
استفاده کنید.
مثال:
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
آرگومانهای فقط-موقعیتی (Positional-Only Arguments)
میتوانید مشخص کنید که تابع فقط آرگومانهای موقعیتی را بپذیرد.
مثال:
def my_function(x, /):
print(x)
my_function(3)
آرگومانهای فقط-کلیدی (Keyword-Only Arguments)
میتوانید مشخص کنید که تابع فقط آرگومانهای کلیدی را بپذیرد.
مثال:
def my_function(*, x):
print(x)
my_function(x=3)
ترکیب آرگومانهای فقط-موقعیتی و فقط-کلیدی
میتوانید هر دو نوع آرگومان را در یک تابع ترکیب کنید.
مثال:
def my_function(a, b, /, *, c, d):
print(a + b + c + d)
my_function(5, 6, c=7, d=8)
بازگشت به توابع (Recursion)
پایتون از بازگشت توابع پشتیبانی میکند که به معنی این است که یک تابع میتواند خودش را فراخوانی کند.
مثال:
def tri_recursion(k):
if k > 0:
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result
print("Recursion Example Results")
tri_recursion(6)
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام