بازکردن آرگومان های یک تابع در پایتون

August 2019

در پایتون امکان این وجود دارد که به صورت همزمان چندین پارامتر را ارسال کرده تا فانکشن به صورت خودکار آنها را دریافت و استفاده کند. آرگومان ها میتوانند به شکل یک لیست یا دیکشنری ارسال شوند. به مثال زیر دقت کنید:

def show(name, age, height):
    print(name, age, height)

show('amir', 12, 170)

در مثال بالا یه دونه فانکشن داریم که سه تا مقدار میگیره و اون سه تا مقدار رو به سادگی چاپ میکنه.

حالا فکر کنید اطلاعات ما داخل یک لیست هستش و ما قراره اطلاعاتی که قراره به اون فانکشن بفرستیم رو باید از داخل اون لیست در میاوردیم. به شکل زیر:

x = ['amir', 28, 180]

show(x[0], x[1], x[2])

در خط اول اطلاعاتمون داخل یک لیست هستش و در خط آخر اون اطلاعات رو فرستادیم به فانکشن.

اما روشی که بالا دیدید آنچنان پایتونی نیسش و راه حل بهتری وجود داره برای این کار:

show(*x)

به همین سادگی. با استفاده از علامت ستاره اطلاعات داخل لیست x باز میشن و بین آرگومان های فانکشن به ترتیب تقسیم میشن.

حالا اگه اطلاعاتمون داخل یه دیکشنری بود چی؟ مثل زیر:

x = {'name':'amir', 'age':28, 'height':18}

برای اینکه اطلاعات رو از داخل یه دیکشنری بکشید بیرون به روش زیر کار کنید:

show(**x)

دوتا ستاره میاد اطلاعات رو از داخل یه دیکشنری میکشه بیرون و بین آرگومان های فانکشن تقسیم میکنه.

برای اطلاعات بیشتر ویدیو رو تماشا کنید

ارسال نظر

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