به نام خدا
در تعریف آرگومان های بعضی از توابع می بینیم که متغیرهایی مثل 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')