تابع با تعداد پارامترهای متغیر (args) 🌟 یه وقتایی نمی‌دونی چند تا ورودی قراره به تابع بدی. اینجا *args به دادت می‌رسه! این یه ویژگی خفنه که به تابع اجازه می‌ده تعداد متغیر ورودی بگیره. مثل وقتی یه سبد میوه داری و می‌تونی هر چند تا میوه که بخوای بندازی توش! 🍎🍊🍇 ✨ مثال: def sum_numbers(*args): total = 0 for num in args: total += num return total # Return the sum of all numbers print(sum_numbers(1, 2, 3)) # Sum of 3 numbers print(sum_numbers(1, 2, 3, 4, 5)) # Sum of 5 numbers 🔹 خروجی: 6 15 🔰 این کد چیکار می‌کنه؟ - این *args به تابع اجازه می‌ده هر تعداد ورودی رو به‌صورت یه لیست بگیره. - تابع sum_numbers همه اعداد ورودی رو جمع می‌کنه و نتیجه رو برمی‌گردونه. - می‌تونی 3 تا عدد، 5 تا عدد، یا حتی هیچی بهش بدی! ✨ یه مثال باحال‌تر: فرض کن داری یه برنامه برای محاسبه میانگین نمرات می‌سازی: def average_scores(*scores): if not scores: # Check if no scores provided return 0 total = sum(scores) count = len(scores) return total / count # Return the average print(average_scores(10, 15, 20)) # Average of 3 scores print(average_scores(5, 10, 15, 20, 25)) # Average of 5 scores 🔹 خروجی: 15.0 15.0 📌 نکته‌های کلیدی: - در واقع *args یه لیست از ورودی‌هاست که می‌تونی باهاش مثل لیست کار کنی (مثل حلقه زدن). - اگه هیچ ورودی ندی، *args یه لیست خالیه. - می‌تونی *args رو با پارامترهای معمولی ترکیب کنی، ولی *args باید آخر تعریف بشه. ✨ مثال ترکیبی: def print_scores(student, *scores): print(f"{student}'s scores: {scores}") # Print student and their scores return average_scores(*scores) # Return average using previous function print(print_scores("Ali", 10, 15, 20)) 🔹 ✨ خروجی: Ali's scores: (10, 15, 20) 15.0 مثال روزمره: فکر کن داری یه اپلیکیشن برای مدیریت خرید می‌سازی. یه تابع می‌نویسی که قیمت آیتم‌های خرید رو بگیره و جمعشون رو حساب کنه، مهم نیست چند تا آیتم باشه! ❓ تمرین: یه تابع بنویسید که تعداد متغیر عدد بگیره و بزرگ‌ترین عدد رو برگردونه. تابع رو با چند مجموعه ورودی مختلف تست کنید (مثلاً 3 عدد، 5 عدد). 💯 @PythonForYou 🧑‍💻👩‍💻