توابع (Python Functions)
توابع در پایتون: جادوی کدنویسی ماژولار (Functions) 🛠️🧱
تابع (Function) یک بلوک کد سازمانیافته و قابل استفاده مجدد است که برای انجام یک عمل واحد و مرتبط استفاده میشود. توابع به شما اجازه میدهند کد خود را به بخشهای کوچکتر و منطقی تقسیم کنید، خوانایی برنامه را افزایش دهید و از نوشتن کدهای تکراری جلوگیری کنید.
۱. تعریف و فراخوانی تابع
در پایتون، یک تابع با کلمه کلیدی def تعریف میشود. پس از آن نام تابع و پرانتزها میآیند. کدهای داخل تابع باید تورفتگی داشته باشند.
def my_function():
print("Hello from a function")
my_function()
برای اجرای یک تابع، کافیست نام آن را به همراه پرانتز بنویسید (فراخوانی یا Call کردن).
۲. آرگومانها (Arguments) 📩
شما میتوانید اطلاعات را به عنوان آرگومان به تابع پاس دهید. آرگومانها در داخل پرانتزِ نام تابع مشخص میشوند. میتوانید هر تعداد آرگومان که میخواهید اضافه کنید، فقط آنها را با کاما از هم جدا کنید.
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
۳. آرگومانهای دلخواه (*args و **kwargs) 🪄
گاهی نمیدانید کاربر چند آرگومان قرار است به تابع بفرستد. در این مواقع از دو روش زیر استفاده میکنیم:
- *args (آرگومانهای نامشخص): اگر قبل از نام پارامتر یک ستاره بگذارید، تابع آرگومانها را به صورت یک تاپل دریافت میکند.
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
۴. مقادیر پیشفرض (Default Parameters)
اگر تابعی را بدون آرگومان فراخوانی کنید، پایتون از مقدار پیشفرض استفاده میکند:
def my_function(country = "Norway"):
print("I am from " + country)
my_function("Sweden")
my_function()
۵. مقدار بازگشتی (Return Value) 🎁
برای اینکه یک تابع نتیجهای را به برنامه اصلی برگرداند، از کلمه کلیدی return استفاده میکنیم:
def my_function(x):
return 5 * x
print(my_function(3))
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
تابعی به نام say_hello بسازید که یک پارامتر به نام name دریافت کند و عبارت 'Hello [name]' را چاپ کند. سپس تابع را با نام 'Alice' فراخوانی کنید.
def say_hello(name):
print('Hello ' + name)
say_hello('Alice')
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.