آرگومانهای متغیر (args, kwargs)
- دو ابزار قدرتمند در پایتون برای نوشتن توابعی با تعداد ورودی نامشخص
- باعث میشن تابع شما انعطافپذیرتر بشه و تعداد پارامترهای ورودی محدود نباشه
*args (Arguments)
- برای دریافت تعداد متغیری آرگومان غیر کلیدی (positional arguments) به صورت تاپل استفاده میشه
- اسم
argsقراردادیست، ستاره (*) مهمه
2.0
25.0
- میتونیم کنارش پارامترهای معمولی هم داشته باشیم:
Hi Mohsen
Hi Nasim
Hi Reza
**kwargs (Keyword Arguments)
برای دریافت تعداد متغیری آرگومان کلیدی (named arguments) به صورت دیکشنری استفاده میشه
دو ستاره (**) مهمه، اسم kwargs قراردادیست
name: Mohsen
age: 32
city: Sari
- ترکیب با پارامترهای معمولی:
Welcome!
name = Mohsen
job = Teacher
استفاده همزمان از *args و **kwargs
پارامترهای معمولی → *args → پارامترهای کلیدی پیشفرض → **kwargs
a=1, b=2
args=(3, 4, 5)
c=20
kwargs={'name': 'Mohsen', 'age': 32}
پاس دادن لیست یا دیکشنری به تابع
- میتونیم یک لیست رو با * و یک دیکشنری رو با ** به تابع پاس بدیم:
1 2 3
10 20 30
جمعبندی
نکتهنکته
برای اکثر موارد، نامهای args و kwargs قراردادی هستن، ولی ستاره و دو ستاره اجباری هستن. میتونید از نامهای دیگه مثل *items و **options هم استفاده کنید.