توابع در پایتون
تعریف تابع، فراخوانی، پارامتر، return، مقادیر پیشفرض و توابع داخلی
تابع چیست؟
تابع (Function) بلوکی از کد است که یک کار مشخص انجام میدهد و میتوان آن را چندین بار فراخوانی کرد. توابع به کد شما ساختار، قابلیت استفاده مجدد و خوانایی میبخشند.
تعریف تابع
با کلمه کلیدی def تابع تعریف میشود:
def greet():
print("سلام!")
فراخوانی تابع
# تعریف
def greet():
print("سلام!")
# فراخوانی
greet() # سلام!
greet() # سلام!
پارامتر و آرگومان
پارامتر متغیری در تعریف تابع است. آرگومان مقداری است که هنگام فراخوانی میدهید:
# پارامتر name
def greet(name):
print(f"سلام {name}!")
# آرگومان "علی"
greet("علی") # سلام علی!
greet("مریم") # سلام مریم!
چند پارامتر
def add(a, b):
return a + b
result = add(5, 3)
print(result) # 8
دستور return
return مقدار را از تابع برمیگرداند:
def square(x):
return x ** 2
result = square(5)
print(result) # 25
اگر تابع
return نداشته باشد، None برمیگرداند.مقادیر پیشفرض
میتوانید برای پارامترها مقدار پیشفرض تعیین کنید:
def greet(name, message="سلام"):
print(f"{message}، {name}!")
greet("علی") # سلام، علی!
greet("مریم", "خوش آمدی") # خوش آمدی، مریم!
پارامترهای دارای مقدار پیشفرض باید بعد از پارامترهای بدون پیشفرض بیایند!
برگرداندن چند مقدار
پایتون میتواند چند مقدار را بهصورت تاپل برگرداند:
def min_max(numbers):
return min(numbers), max(numbers)
smallest, largest = min_max([3, 1, 4, 1, 5, 9])
print(f"کوچکترین: {smallest}") # 1
print(f"بزرگترین: {largest}") # 9
Docstring — مستندات تابع
def calculate_bmi(weight, height):
"""محاسبه شاخص توده بدنی.
Args:
weight: وزن به کیلوگرم
height: قد به متر
Returns:
مقدار BMI
"""
return weight / (height ** 2)
متغیر محلی و سراسری
# متغیر سراسری
counter = 0
def increment():
global counter # برای تغییر متغیر سراسری
counter += 1
increment()
print(counter) # 1
توابع داخلی (Built-in)
پایتون دهها تابع آماده دارد:
| تابع | توضیح |
|---|---|
print() | چاپ |
len() | طول |
type() | نوع |
int(), str(), float() | تبدیل نوع |
input() | دریافت ورودی |
range() | دنباله اعداد |
sum(), max(), min() | محاسبات |
sorted() | مرتبسازی |
enumerate() | ایندکس + مقدار |
چرا از تابع استفاده کنیم؟
- جلوگیری از تکرار کد (DRY)
- سازماندهی بهتر کد
- قابلیت تست آسانتر
- قابلیت استفاده مجدد در پروژههای دیگر
خلاصه
| مفهوم | سینتکس |
|---|---|
| تعریف | def name(params): |
| فراخوانی | name(args) |
| برگرداندن | return value |
| پیشفرض | def f(x=10): |
| چند مقدار | return a, b |
این مبحث بخشی از دوره آموزش کامل پایتون است.