5.1. تعریف و فراخوانی توابع با تعداد پارامترهای متغیر (args)
اگه نخوای تعداد پارامترها رو محدود کنی، میتونی از *args استفاده کنی. این به تابع اجازه میده هر تعداد ورودی بگیره.
✨ مثال 1: جمع اعداد متغیر
def sum_numbers(*args):
total = 0
for num in args:
total += num
return total # Return sum of all numbers
print(sum_numbers(1, 2, 3)) # 3 numbers
print(sum_numbers(1, 2, 3, 4, 5)) # 5 numbers
🔹 خروجی:
6
15
✨ مثال 2: میانگین نمرات
def average_scores(*scores):
if not scores:
return 0 # Return 0 if no scores
total = sum(scores)
count = len(scores)
return total / count # Return average
print(average_scores(10, 15, 20))
print(average_scores(5, 10, 15, 20, 25))
خروجی:
15.0
15.0
✨ مثال 3: لیست خرید
pythondef shopping_list(*items):
print(f"Shopping list: {items}") # Print all items
shopping_list("Apple", "Banana", "Orange")
shopping_list("Bread", "Milk")
🔹 خروجی:
textShopping list: ('Apple', 'Banana', 'Orange')
Shopping list: ('Bread', 'Milk')
✅ چرا args باحاله؟
- میتونی هر تعداد ورودی بدی، بدون اینکه تعداد پارامترها رو مشخص کنی.
- مثل یه لیست عمل میکنه، پس میتونی باهاش حلقه بزنی.
✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای مدیریت خرید میسازی. تابع لیست خرید میتونه هر تعداد آیتم رو بگیره و نشون بده.
❓ تمرین: یه تابع بنویسید که تعداد متغیر عدد بگیره و بزرگترین عدد رو برگردونه. تابع رو با چند مجموعه ورودی تست کنید (مثلاً 3 و 5 عدد).
💯 @PythonForYou 🧑💻👩💻