کاربرد اسلش و ستاره در پارامترهای پایتون

امیرحسین بیگدلو November 2023

هنگام تعریف توابع در پایتون، اغلب فهرستی از پارامترها را برای تعیین نوع آرگومان هایی که کاربر می تواند به تابع شما ارسال کند، مشخص می کنید. استفاده از علامت های ستاره و اسلش به عنوان پارامترهای خاص در هدر تابع ممکن است در ابتدا عجیب به نظر برسد:

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')

در زمان استفاده از علامت اسلش در پارامترهای توابع پایتونی، تمام پارامترهایی که قبل از علامت اسلش قرار میگیرند، باید براسال موقعیت ارسال شوند و نمیتوانند به کلید-واژه ارسال شوند. نحوه ارسال پارامترهایی که بعد از علامت اسلش قرار میگیرند، اهمیتی ندارد.

ویدیوهای مشابه



ارسال نظر


alireza

4 ماه قبل پاسخ به نظر

سلام امیر
میشه یه ویدیو درست کنی از داکرایز کردن یک پروژه جنگو و کانفیگ انجین ایکس و پست گرس براش و بردن رو حالت پروداکشن

ارسال نظر



امیر

5 ماه قبل پاسخ به نظر

میشه راجع به ستاپ نحوه قرار دادن ویدیو داخل اروان و اینکه نمیشه دانلود کرد (مثل سایت خودتون) آموزش بذارید؟

ارسال نظر



امیرحسین بیگدلو

4 ماه قبل

سلام
کار سختی نیست، شما ویدیو رو داخل ابرآروان آپلود میکنید و ابرآروان هم یک تگ iframe به شما میده و شما اون تگ رو میزارید داخل سایتتون. همین

مونگارد