کاربرد اسلش و ستاره در پارامترهای پایتون
هنگام تعریف توابع در پایتون، اغلب فهرستی از پارامترها را برای تعیین نوع آرگومان هایی که کاربر می تواند به تابع شما ارسال کند، مشخص می کنید. استفاده از علامت های ستاره و اسلش به عنوان پارامترهای خاص در هدر تابع ممکن است در ابتدا عجیب به نظر برسد:
def strange_function(*, x, y):
...
def another_strange_function(a, b, /, c, *, d):
...
هر دو تابع ممکن است کمی عجیب به نظر برسند، اما پارامترهای آنها در واقع کاملا معتبر هستند.
# استفاده از علامت / و * در توابع پایتون
علامت های اسلش و ستاره مشخص کننده نوع آرگومانی است که میتوانید به توابع خود ارسال کنید. پارامترهایی که بعد از علامت ستاره قرار میگیرند باید به شکل کلید-واژه (keyword-argument) ارسال شوند. همچنین پارامترهایی که قبل از علامت اسلش قرار میگیرند باید براساس موقعیت (positional-argument) ارسال شوند.
به عنوان مثال، به تابع زیر دقت کنید:
def show(fn, *, ln):
print(f"your name is {fn} {ln}...")
>>> show('amir', ln='big')
از آنجایی که پارامتر ln بعد از ستاره قرار گرفته، پس مجبور هستیم این آرگومان را به شکل کلید-واژه ارسال کنیم، در غیر اینصورت با خطا مواجه خواهیم شد. نحوه ارسال پارامترهایی که قبل از ستاره هستند اهمیتی ندارد و میتوان به هر شکلی آنها را ارسال کرد.
در مثال بعدی، از اسلش استفاده میکنیم:
def show(fn, /, ln):
print(f"your name is {fn} {ln}...")
>>> show('amir', ln='big')
در زمان استفاده از علامت اسلش در پارامترهای توابع پایتونی، تمام پارامترهایی که قبل از علامت اسلش قرار میگیرند، باید براسال موقعیت ارسال شوند و نمیتوانند به کلید-واژه ارسال شوند. نحوه ارسال پارامترهایی که بعد از علامت اسلش قرار میگیرند، اهمیتی ندارد.
ارسال نظر