ارگومان های اختیاری در زبان پایتون چیست ؟
ارگومان های اختیاری در زبان پایتون چیست ؟
ارگومان های اختیاری در زبان پایتون چیست ؟
ما قبلاً توابع پیشسـاختهاي دیـدهایـم کـه تعـداد آرگومـانهـاي آن متغیـر بـود. بـراي مثـال find.string میتواند دو، سه و یا چهار آرگومان بگیرد. نوشتن توابع کاربر-تعریف با لیستهاي آرگومان اختیـاري امکـانپـذیر اسـت. بـراي نمونـه مـا میتوانیم نسخۀ تابع find خودمان را طوري بههنگام سازیم که مانند string.find عمل کند. این نسخۀ اصلی از بخش 7-7 است:
def find(str, ch):
index = 0
while index < len(str):
if str[index] == ch:
return index
index = index + 1
return -1
پارامتر سوم، start ،اختیاري است زیرا یک مقدار پیشفرض یعنی 0 براي آن تـدارك دیـده شده است. اگر ما find را تنها با دو آرگومان احضار کنـیم، از مقـدار پـیشفـرض اسـتفاده کـرده و از ابتداي رشته شروع میکنیم:
>> find(“apple”, “p”)
1
اگر پارامتر سوم را هم منظور کنیم، این مقدار، عمل مقدار پیشفرض را لغو میکند:
>>> find(“apple”, “p”, 2)
2
>>> find(“apple”, “p”, 3)
-1
اخطار: این تمرین کمی فریبنده است. مقدار پیشفرض end باید (str(len باشـد امـا ایـن
مقدار کار نمیکند. مقادیر پیشفرض در زمان تعریف تابع ارزیابی میشـوند نـه در زمـان فراخـوانی آن. وقتی find تعریف شده هنوز str به نیامده است، لذا نمیتوانیم طول آن را پیدا کنیم.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید