توابع در پایتون
توابع در پایتون به شما کمک میکنند تا کدهایتان را سازماندهی و دوباره استفاده کنید. یک تابع مجموعهای از کدها است که یک کار خاص را انجام میدهد. وقتی که میخواهید یک کار را چندین بار در برنامهتان تکرار کنید، میتوانید آن را به یک تابع تبدیل کنید و هر زمان که نیاز داشتید، آن تابع را فراخوانی کنید.
تعریف تابع
برای تعریف یک تابع در پایتون، از کلمهی `def` استفاده میکنیم. سپس نام تابع و پارامترهای آن را مشخص میکنیم. پارامترها، ورودیهای تابع هستند که میتوانند به تابع ارسال شوند.
def سلام(name):
print("سلام " + name)
در این مثال، ما یک تابع به نام `سلام` تعریف کردهایم که یک پارامتر به نام `name` دارد. وقتی که این تابع را فراخوانی میکنیم، نام شخص را به عنوان ورودی دریافت میکند و یک پیام سلام را چاپ میکند.
فراخوانی تابع
برای فراخوانی یک تابع، کافیست نام تابع را بنویسید و پارامترهای آن را در پرانتزها مشخص کنید.
سلام("امیر")
در این مثال، ما تابع `سلام` را با نام “امیر” فراخوانی کردهایم. خروجی این کد “سلام امیر” خواهد بود.
پارامترهای تابع
پارامترهای تابع میتوانند به صورت پیشفرض نیز مشخص شوند. این یعنی که اگر شما پارامتری را هنگام فراخوانی تابع مشخص نکنید، مقدار پیشفرض آن پارامتر استفاده خواهد شد.
def سلام(name = "دوست"):
print("سلام " + name)
سلام() # خروجی: سلام دوست
سلام("علی") # خروجی: سلام علی
در این مثال، پارامتر `name` دارای مقدار پیشفرض “دوست” است. اگر ما تابع را بدون هیچ پارامتری فراخوانی کنیم، از مقدار پیشفرض استفاده خواهد شد.
مثال کاربردی
بیایید یک مثال کاربردی از توابع در پایتون ببینیم. فرض کنید میخواهیم برنامهای بنویسیم که اطلاعات دانشآموزان را ذخیره و چاپ کند.
def ذخیره_اطلاعات(نام، سن، نمره):
اطلاعات = {
"نام": نام,
"سن": سن,
"نمره": نمره
}
return اطلاعات
def چاپ_اطلاعات(اطلاعات):
print("نام: " + اطلاعات["نام"])
print("سن: " + str(اطلاعات["سن"]))
print("نمره: " + str(اطلاعات["نمره"]))
# استفاده از توابع
دانش_آموز = ذخیره_اطلاعات("امیر", 16, 90)
چاپ_اطلاعات(دانش_آموز)
در این مثال، ما دو تابع `ذخیره_اطلاعات` و `چاپ_اطلاعات` تعریف کردهایم. تابع `ذخیره_اطلاعات` اطلاعات دانشآموز را در یک دیکشنری ذخیره میکند و تابع `چاپ_اطلاعات` این اطلاعات را چاپ میکند.
مزایای استفاده از توابع
استفاده از توابع مزایای زیادی دارد:
- کد شما سازماندهی شده و راحتتر قابلفهم است.
- کد شما کوتاهتر و کمحجمتر میشود.
- شما میتوانید کدهایتان را دوباره استفاده کنید.
تمرین
« تمرین کردن، کلید یادگیری است. »
حالا نوبت شماست که تمرین کنید. فرض کنید میخواهید برنامهای بنویسید که از کاربر بخواهد نام و سناش را وارد کند و سپس یک پیام خوشآمدگویی بر اساس سن او چاپ کند.
# کد شما اینجا میآید
راهنمایی: میتوانید از تابع `input` برای دریافت ورودی کاربر استفاده کنید و سپس از دستور `if` برای تصمیمگیری بر اساس سن کاربر استفاده کنید.
پاسخ تمرین
def خوش_آمدگویی(name, سن):
if سن < 18:
print("سلام " + name + "! شما هنوز جوان هستید.")
else:
print("سلام " + name + "! به جمع ما خوشآمدید.")
name = input("نامات را بنویس: ")
سن = int(input("سنات را بنویس: "))
خوش_آمدگویی(name, سن)
در این مثال، ما یک تابع `خوش_آمدگویی` تعریف کردهایم که بر اساس سن کاربر، یک پیام خوشآمدگویی چاپ میکند. سپس از کاربر خواستهایم نام و سناش را وارد کند و تابع را با این اطلاعات فراخوانی کردهایم.