در برنامه نویسی پایتون، توابع ابزاری قدرتمند برای ساختن بلوک های کد قابل استفاده مجدد هستند. اما گاهی اوقات می خواهیم تابعی بنویسیم که بتواند تعداد نامشخصی از آرگومان ها را دریافت کند. در اینجا، args و kwargs به کمک ما می آیند.
▪️در پایتون *args یک متغیر خاص است که برای دریافت تعداد نامحدود ورودی در تابع به صورت ترتیبی به کار میره و خروجی که به ما میده یه تاپل هست.
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3, "Hello")
خروجی:
1
2
3
Hello
▪️در پایتون **kwargs یک متغیر خاص دیگر است که برای دریافت تعداد نامحدود ورودی به صورت نامدار استفاده میشه و خروجی که به ما میده به صورت دیکشنری هست.
def my_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
my_function(name="John", age=30)
خروجی:
name: John
age: 30
می توانید از args و kwargs با هم در یک تابع استفاده کنید.
مثال:
def my_function(*args, **kwargs):
print(args)
print(kwargs)
my_function(1, 2, 3, name="John", age=30)
خروجی:
(1, 2, 3)
{'name': 'John', 'age': 30}
💭 @Star_sourcee