جلسه ۲۱: ساختن تابع در پایتون

در این درس یاد میگیریم که چگونه یک تابع را بسازیم.
اجزای یک تابع
ما یادگرفتیم که توابع چه هستند و چرا از آنها استفاده میکنیم. اما چگونه میتوانیم یک تابع را خودمان بسازیم؟ در پایتون میتوانیم با استفاده از کلمه def
به شکل زیر یک تابع را تعریف کنیم:
در عکس بالا function name
در واقع اسمی است که ما برای نام تابعمان انتخاب میکنیم.
parameters یک تابع همان ورودی های آن تابع هستند. ما میتوانیم از این ورودی ها داخل تابع استفاده کنیم.ورودی ها یا پارامترها میتوانند وجود نداشته باشند و الزامی نیستند.در این مورد بعدا یاد خواهیم گرفت.
پیادهسازی
حال بیایید برنامه و تابعی بنویسیم که ۴ خط متن را برای ما چاپ کند. این تابع هیچ ورودی ندارد. اسم آن را ما my_print_function
گذاشتهایم و برای استفاده از این تابع کافیست نام آن را بیاوریم و جلوی آن دو پرانتز برای ورودی ها بگذاریم وسپس چون ورودیای نداریم داخل این پرانتزها را خالی میگذاریم.
def my_print_function(): # No parameters
print("This")
print("is")
print("A")
print("function")
# Function ended
# Calling the function in the program multiple times
my_print_function()
my_print_function()
و بدین صورت ما اولین تابع خودمان را ساختهایم.میتوان به هر تعداد که مایل باشیم از این تابع استفاده کنیم.
پارامترهای تابع
پارامترها یا ورودیها بخشی اساس از ساختار یک تابع هستند.
معنای آن این است که میتوانیم یکسری دیتا به تابع بدهیم. این دیتا میتواند توسط تابع برای انجام یک کار مشخص استفاده بشود.
وقتی ما یک تابع را تعریف میکنیم باید تعداد پارامترها و نام آن ها را هم مشخص سازیم.این نام ها فقط برای تابع هستند و تاثیری روی نام متغیرهای خارج از تابع ندارند. پارامترها داخل پرانتز قرار میگیرند و با کاما جدا میشوند.
مقادیر یا متغیرهایی که به پارامترهای تابع میدهیم به اسم آرگومان شناخته میشوند.
در درس قبل ما تابع ()sum
را دیدیم. که دو عدد را به عنوان ورودی دریافت میکرد و کوچکترین آن را برای ما مشخص میکرد.
حال بیایید یک شکل ساده از تابع min
بسازیم، که کارش این است که کوچکترین مقدار را برای ما چاپ کند. اسم آن را minimum
گذاشته ایم.
def minimum(first, second):
if (first < second):
print(first)
else:
print(second)
num1 = 10
num2 = 20
minimum(num1, num2)
در اینجا ما دو متغیر num1
و num2
را به تابع دادهایم. محل قرار گیری پارامترها مهم است. در مورد بالا num1
به عنوان پارامتر اول داده شده است و num2
نیز به عنوان پارامتر دوم.
اگر ما یک تابع را با تعداد ورودی کمتر یا بیشتر نسبت به تعداد مشخص شده در تعریف تابع، فراخوانی کنیم، نرم افزار پایتون به ما ارور خواهد داد.
پارامترهای تابع میتواند هر نوع دادهای باشند از یک integer
ساده تا یک لیست بزرگ.
عبارت return
در کدهای قبلی ما فقط تابعی را تعریف کردیم که یک مقداری را برای ما print
میکرد. آنها هیچ مقداری را به ما برنمیگرداندند. اما اگر بیشتر توجه کنید توابع هایی که بررسی کردیم یک مقدار را هم به ما برمیگرداندند. به عنوان مثال تابع len
یک مقدار integer
را که مشخص کننده طول داده بود را به ما برمیگرداند.
برای برگرداندن چیزی در یک تابع از کلمه return
استفاده میکنیم. بخاطر داشته باشید که پس از اجرای دستور return
تابع به پایان میرسد و نرمافزار از تابع بیرون میآید.هر کدی داخل تابع و بعد از return
باشد دیگر اجرا نخواهد شد.
حال تابع minimun
مان را تغییر میدهیم تا به جای اینکه خروجی را چاپ کند، کوچکترین مقدار را به ما بدهد. اکنون این تابع مانند تابع داخلی min
کار میکند اما با دو پارامتر.
def minimum(first, second):
if (first < second):
return first
return second
num1 = 10
num2 = 20
result = minimum(num1, num2) # Storing the value returned by the function
print(result)
یادگرفتیم که چگونه یک تابع بسازیم و پارامترهایی را تعریف کنیم و چگونه مقداری را از تابع به کاربر برگردانیم. پایتون این کار را به راحتی انجام میدهد.
این یک تمرین خوب است که همه توابع را تعریف کنیم و بعد شروع به کدنویسی اصل کدمان کنیم. آنها را ابتدا تعریف کنیم و بعد در هرجای کد آن ها را استفاده کنیم.
در درس بعدی، در مورد scope
های توابع یاد میگیریم.