آموزش پایتون - آرگومان‌های پیش‌فرض

آرگومان‌های پیش‌فرض در پایتون

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

آرگومان‌های پیش‌فرض در پایتون، آرگومان‌هایی از تابع هستند که در صورت عدم پاس دادن هیچ آرگومانی در فراخوانی تابع، مورد استفاده قرار می‌گیرند.

مثالی از آرگومان‌های پیش‌فرض

مثال زیر نحوه استفاده از آرگومان‌های پیش‌فرض پایتون را نشان می‌دهد. در اینجا، فراخوانی دوم تابع هیچ مقداری به آرگومان "city" پاس نمی‌دهد، بنابراین از مقدار پیش‌فرض آن یعنی "Hyderabad" استفاده خواهد شد.

# Function definition 
def showinfo( name, city = "Hyderabad" ):
   "This prints a passed info into this function"
   print ("Name:", name)
   print ("City:", city)
   return

# Now call showinfo function
showinfo(name = "Ansh", city = "Delhi")
showinfo(name = "Shrey")

این کد خروجی زیر را تولید خواهد کرد −

Name: Ansh
City: Delhi
Name: Shrey
City: Hyderabad

مثال: فراخوانی تابع بدون آرگومان‌های کلیدواژه‌ای

بیایید به مثال دیگری نگاه کنیم که یک مقدار پیش‌فرض به آرگومان تابع اختصاص می‌دهد. تابع percent() دارای یک آرگومان پیش‌فرض به نام "maxmarks" است که روی 200 تنظیم شده است. بنابراین، می‌توانیم هنگام فراخوانی تابع، مقدار آرگومان سوم را حذف کنیم.

# function definition 
def percent(phy, maths, maxmarks=200):
   val = (phy + maths) * 100/maxmarks
   return val

phy = 60
maths = 70
# function calling with default argument
result = percent(phy, maths)
print ("percentage:", result)

phy = 40
maths = 46
result = percent(phy, maths, 100)
print ("percentage:", result)

با اجرا، این کد خروجی زیر را تولید خواهد کرد −

percentage: 65.0
percentage: 86.0

اشیاء تغییرپذیر به عنوان آرگومان پیش‌فرض

پایتون آرگومان‌های پیش‌فرض را یک بار در زمان تعریف تابع ارزیابی می‌کند، نه در هر بار فراخوانی تابع. بنابراین، اگر از یک آرگومان پیش‌فرض تغییرپذیر استفاده کنید و آن را در داخل تابع تغییر دهید، همان مقادیر در فراخوانی‌های بعدی تابع ارجاع داده می‌شوند.

به آن دسته از اشیاء پایتون که پس از ایجاد قابل تغییر هستند، اشیاء تغییرپذیر (Mutable) گفته می‌شود.

مثال

کد زیر نحوه استفاده از اشیاء تغییرپذیر به عنوان آرگومان پیش‌فرض در پایتون را توضیح می‌دهد.

def fcn(nums, numericlist = []):
   numericlist.append(nums + 1)
   print(numericlist) 
    
# function calls
fcn(66)
fcn(68)
fcn(70)

با اجرای کد بالا، خروجی زیر تولید خواهد شد −

[67]
[67, 69]
[67, 69, 71]

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.