ساخت توابع با پارامتر در پایتون
توابع در پایتون ابزارهای بسیار مفید و قدرتمندی هستند که میتوانند کدهای ما را سازماندهی، قابلاستفاده مجدد و مدیریتپذیر کنند. تا حالا با توابع داخلی و نحوهی فراخوانی آنها آشنا شدهاید. در این درس، یاد میگیرید که چگونه توابع خود را با پارامترها ایجاد کنید.
پارامتر چیست؟
پارامترها مقادیری هستند که به یک تابع ارسال میشوند تا تابع بتواند با استفاده از آن مقادیر، عملیاتی را انجام دهد. به عنوان مثال، وقتی به یک دوست خود میگویید که برایت از بازار یک بستنی بیاورد، شما یک سری اطلاعات (پارامترها) به او میدهید: نوع بستنی (وانیل، شکلاتی و غیره) و مقدار پول برای خرید. بر اساس این اطلاعات، دوست شما میتواند بستنی مورد نظر را برای شما بیاورد.
تعریف تابع با پارامتر در پایتون
برای تعریف یک تابع با پارامتر در پایتون، از پرانتزها استفاده میکنیم و پارامترها را داخل پرانتزها مشخص میکنیم. سپس، میتوانیم از این پارامترها در بدنهی تابع استفاده کنیم.
def سلام_با_اسم(name):
print("سلام " + name + " چطور است؟")
سلام_با_اسم("امیر")
در کد بالا، تابع `سلام_با_اسم` یک پارامتر به نام `name` دارد. وقتی این تابع را با آرگومان `”امیر”` فراخوانی میکنیم، تابع پاسخ میدهد: «سلام امیر چطور است؟».
چندین پارامتر
میتوانید برای یک تابع، چندین پارامتر تعریف کنید. این کار به شما اجازه میدهد تا اطلاعات بیشتری به تابع بدهید و عملیات متنوعتری را انجام دهید.
def جمع_دو_عدد(a, b):
result = a + b
print("جمع دو عدد " + str(a) + " و " + str(b) + " برابر است با: " + str(result))
جمع_دو_عدد(5, 7)
در این مثال، تابع `جمع_دو_عدد` دو پارامتر `a` و `b` دارد. این تابع، جمع دو عدد را محاسبه کرده و نتیجه را چاپ میکند.
مثالهای بیشتر
- مثال 1: تابع مساحت مستطیل
فرض کنید میخواهید تابع بسازید که مساحت یک مستطیل را حساب کند. برای حساب کردن مساحت، باید طول و عرض مستطیل را بدانید.
def مساحت_مستطیل(طول, عرض):
مساحت = طول * عرض
print("مساحت مستطیل با طول " + str(طول) + " و عرض " + str(عرض) + " برابر است با: " + str(مساحت))
مساحت_مستطیل(10, 5)
- مثال 2: تابع محاسبهی سن
فرض کنید میخواهید تابع بسازید که سن شما را بعد از چند سال محاسبه کند.
def محاسبه_سن(سن_کنونی, سالهای_آینده):
سن_آینده = سن_کنونی + سالهای_آینده
print("سن شما بعد از " + str(سالهای_آینده) + " سال، " + str(سن_آینده) + " سال خواهد بود.")
محاسبه_سن(15, 10)
نکتههای مهم
- پارامترها میتوانند هر نوع دادهای داشته باشند: عدد، رشته، لیست و غیره.
- نام پارامترها باید معنیدار و درکپذیر باشد.
- تابع میتواند چندین پارامتر داشته باشد.
تمرین
- تابع بسازید که نام و نمرهی یک دانشآموز را بگیرد و پیام تبریک یا تشویق برای او بفرستد.
- تابع دیگری بسازید که قیمت یک موتر و میزان بنزین مصرفی آن را بگیرد و هزینهی بنزین آن را محاسبه کند.
پاسخ تمرینها
- مثال تابع پیام به دانشآموز
def پیام_به_دانش_آموز(name, نمره):
if نمره >= 50:
print("تبریک " + name + "! شما قبول شدید.")
else:
print(name + " عزیز، بهتر است بیشتر درس بخوانید.")
پیام_به_دانش_آموز("زهرا", 60)
پیام_به_دانش_آموز("علی", 40)
- مثال تابع محاسبهی هزینهی بنزین
def هزینه_بنزین(قیمت_موتور, مصرف_بنزین):
هزینه = قیمت_موتور * مصرف_بنزین
print("هزینهی بنزین برای موتر با قیمت " + str(قیمت_موتور) + " و مصرف " + str(مصرف_بنزین) + " لیتر برابر است با: " + str(هزینه))
هزینه_بنزین(50000, 10)
نقلقول
زندگی مثل یک برنامهی کامپیوتری است. اگر میخواهید نتیجهای بگیرید، باید اشکالات را برطرف کنید و به درسهایی که میآموزید، عمل کنید.
ساخت توابع با پارامترهای پیشفرض
در برخی موارد، میخواهید که برخی از پارامترها، مقادیر پیشفرض داشته باشند. پایتون این امکان را به شما میدهد.
def پیام_با_اسم(name = "دوست من"):
print("سلام " + name)
پیام_با_اسم("امیر")
پیام_با_اسم()
در کد بالا، پارامتر `name` دارای مقدار پیشفرض `”دوست من”` است. اگر موقع فراخوانی تابع، آرگومانی برای `name` ندهید، از مقدار پیشفرض استفاده میشود.
توابع و دنیای واقعی
توابع در برنامهنویسی، بسیار شبیه به روالهای روزانهی ماست. فرض کنید شما هر روز صبحانهتان را آماده میکنید. میتوانید این کار را به عنوان یک تابع در نظر بگیرید که پارامترهای آن، مواد اولیه (مثل نان، پنیر و چای) هستند.
def آماده_کردن_صبحانه(نان, پنیر, چای):
print("صبحانه آماده است. شامل:")
print("- " + نان + " نان")
print("- " + پنیر + " پنیر")
print("- " + چای + " چای")
آماده_کردن_صبحانه("2 عدد نان", "1 بسته پنیر", "1 فنجان چای")
مرور و تکرار
– توابع ابزارهای قدرتمندی برای سازماندهی کدها هستند.
– پارامترها به توابع کمک میکنند تا اطلاعات مختلف را دریافت و پردازش کنند.
– میتوانید توابع را با پارامترهای مختلف و مقادیر پیشفرض بنویسید.
با تمرین و تکرار، میتوانید در نوشتن توابع حرفهای شوید و برنامههای پیچیدهتری بسازید. به یاد داشته باشید که هر تابع باید یک کار مشخص و معین انجام دهد.