🐍 آموزش آرگومانهای "*args" و "**kwargs"
━━━━━━━━━━━━━━━━━━
🔹 ۱. آرگومانهای "*args"
با استفاده از "*args" میتونیم تعداد دلخواهی آرگومان موقعیتی به تابع ارسال کنیم.
def calculate_sum(*args):
return sum(args)
print(calculate_sum(10, 20))
print(calculate_sum(1, 2, 3, 4, 5))
خروجی:
30
15
━━━━━━━━━━━━━━━━━━
🔹 ۲. آرگومانهای "**kwargs"
با "**kwargs" میتونیم تعداد دلخواهی آرگومان کلیدواژهای به تابع بدیم.
def show_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
show_info(name="Ali", age=20, city="Tehran")
خروجی:
name: Ali
age: 20
city: Tehran
📌 نکته: داخل تابع، "kwargs" یک دیکشنری (Dictionary) خواهد بود.
━━━━━━━━━━━━━━━━━━
🔹 ۳. استفاده همزمان از هر دو
میتونیم در یک تابع، هم "*args" داشته باشیم و هم "**kwargs".
def display_data(*args, **kwargs):
print("Arguments:", args)
print("Keywords:", kwargs)
display_data(10, 20, 30, name="Sara", age=22)
خروجی:
Arguments: (10, 20, 30)
Keywords: {'name': 'Sara', 'age': 22}
━━━━━━━━━━━━━━━━━━
🔹 ۴. باز کردن لیست و دیکشنری هنگام فراخوانی
علامتهای "*" و "**" هنگام فراخوانی تابع هم کاربرد دارن.
numbers = [10, 20, 30]
user = {"name": "Ali", "age": 21}
def add(a, b, c):
return a + b + c
def introduce(name, age):
print(f"{name} is {age} years old.")
print(add(*numbers))
introduce(**user)
خروجی:
60
Ali is 21 years old.
━━━━━━━━━━━━━━━━━━
🧠 تمرینهای امروز
۱️⃣ تابعی بنویس که با "*args" هر تعداد عدد دریافت کنه و بزرگترین عدد رو برگردونه.
۲️⃣ تابعی بنویس که با "**kwargs" مشخصات یک کاربر رو دریافت و نمایش بده.
💬 پاسخ تمرینها رو در کامنتها بنویس!
━━━━━━━━━━━━━━━━━━
#آموزش_پایتون
#توابع_پایتون
#برنامه_نویسی
#کاما_کد
92 · پست🐍 آموزش آرگومانهای "*args" و "**kwargs"
12 اکتبر 2026در همان حوالی فید
Iاین پیام
I