ویرگول
ورودثبت نام
Sanaz Khalili
Sanaz Khalili
خواندن ۱ دقیقه·۱ سال پیش

*args, **kwargs

به نام خدا

در تعریف آرگومان های بعضی از توابع می بینیم که متغیرهایی مثل args , **kwargs *وجود دارد. اما این ها به چه معنی هستند؟

زمانی که قبل از یک متغیر یک ستاره وجود دارد یعنی ممکن است هر تعداد آرگومان ورودی به این تابع وجود داشته باشد(برای حالتی که تعداد ورودی ها را نمی دانیم.)

مثال

def test(*args): for arg in args: print(arg)

اما در حالتی که 2 ستاره وجود دارد به این معناست که زمان فرخوانی هر تعداد مقادیر شامل key , value را می توانیم برای این تابع ارسال کرده و با استفاده از کلیدها به مقادیرش دسترسی داشته باشیم.

def test(**k): print(k['name']) test(name='sanaz') test(name='sanaz', family='khalili')


https://github.com/sanazkhalili - https://www.kaggle.com/skhalili
شاید از این پست‌ها خوشتان بیاید