📚 آموزش پارامتر تاپل (*args) در پایتون

درک کامل مفهوم args و کاربرد آن در توابع

❓ `*args` چیست؟

📖 تعریف فنی

*args یک پارامتر ویژه در پایتون است که اجازه می‌دهد:

  • تعداد نامشخصی آرگومان به تابع ارسال شود
  • آرگومان‌ها به صورت تاپل (Tuple) ذخیره شوند
  • نام args یک قرارداد است (می‌توان هر نام دیگری استفاده کرد)
  • ستاره (*) قبل از نام مهم است

✨ نکته کلیدی

کلمه args مخفف “arguments” (آرگومان‌ها) است اما می‌توانید از هر نام دیگری استفاده کنید:

def func(*numbers):
def func(*values):
def func(*items):

🧩 مثال ساده برای درک بهتر

📥 ورودی به تابع

func(1, 2, 3, 4, 5)

*args = (1, 2, 3, 4, 5)

📤 خروجی از تابع

یک تاپل ۵ عضوی

type(args) = <class 'tuple'>

🧮 پروژه: جمع اعداد با پارامتر تاپل (*args)

📝 صورت مسئله:

تابعی بنویسید که با استفاده از *args بتواند هر تعداد عدد را دریافت کرده و مجموع آن‌ها را محاسبه کند.

💻 کد کامل پروژه:

def sum_numbers(*args):
    """
    این تابع هر تعداد عدد را دریافت کرده و مجموع آنها را برمی‌گرداند
    پارامتر: *args - تاپل حاوی اعداد ورودی
    بازگشت: مجموع اعداد
    """
    total = 0
    for number in args:
        total += number
    return total

# 🔴 تست ۱: سه عدد
result1 = sum_numbers(1, 2, 3)
print("مجموع ۱، ۲، ۳ =", result1)

# 🟡 تست ۲: پنج عدد
result2 = sum_numbers(10, 20, 30, 40, 50)
print("مجموع ۱۰، ۲۰، ۳۰، ۴۰، ۵۰ =", result2)

# 🟢 تست ۳: یک عدد
result3 = sum_numbers(7)
print("مجموع ۷ =", result3)

# 🔵 تست ۴: بدون آرگومان
result4 = sum_numbers()
print("مجموع بدون آرگومان =", result4)
      

🎯 خروجی برنامه:

مجموع ۱، ۲، ۳ = ۶
مجموع ۱۰، ۲۰، ۳۰، ۴۰، ۵۰ = ۱۵۰
مجموع ۷ = ۷
مجموع بدون آرگومان = ۰

🔍 تجسم عملکرد `*args`

فراخوانی تابع

sum_numbers(5, 10, 15, 20)

در داخل تابع

args = (5, 10, 15, 20)

نتیجه حلقه for

مرحله number total
شروع ۰
۱ ۵ ۵
۲ ۱۰ ۱۵
۳ ۱۵ ۳۰
۴ ۲۰ ۵۰

✅ مزایای استفاده از `*args`

انعطاف‌پذیری

می‌توانید هر تعداد آرگومان ارسال کنید – از صفر تا بی‌نهایت!

🔄

قابلیت استفاده مجدد

یک تابع برای حالات مختلف کافیست

🧩

سادگی کد

نیاز به تعریف چندین تابع مشابه را حذف می‌کند

کارایی

برای توابع ریاضی و آماری ایده‌آل است

📝 مثال‌های بیشتر با `*args`

مثال ۱: پیدا کردن بزرگترین عدد

def find_max(*numbers):
    return max(numbers) if numbers else None

مثال ۲: الحاق رشته‌ها

def concatenate(*strings):
    return ' '.join(strings)

مثال ۳: میانگین اعداد

def average(*numbers):
    return sum(numbers)/len(numbers) if numbers else 0

🎯 نکته نهایی

*args ابزاری قدرتمند در پایتون است که به شما امکان می‌دهد توابعی بنویسید که با تعداد متغیر آرگومان کار کنند. کلمه args یک قرارداد رایج است، اما مهم‌ترین بخش ستاره (*) قبل از نام پارامتر است!

*هر_نامی = تاپل آرگومان‌ها

📘
صفحه اصلی جزوه پایتون
➡️

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *