الوسائط الموضعية العشوائية (*args)
في بعض الأحيان تحتاج إلى دالة يمكنها استقبال عدد غير معروف أو متغير من الوسائط الموضعية (مثلاً: دالة تجمع كل الأرقام الممررة لها).
تتعامل Python مع هذا باستخدام *args.
الاستخدام
عند استخدام *args كمعامل، يتم تجميع كل الوسائط الموضعية الزائدة الممررة للدالة في tuple يسمى args.
python def calculate_sum(*numbers): # 'numbers' هو tuple يحتوي على كل الوسائط الممررة total = 0 for n in numbers: total += n return total
استدعاء 1: بـ 3 وسائط
print(calculate_sum(1, 2, 3)) # المخرجات: 6
استدعاء 2: بـ 5 وسائط
print(calculate_sum(10, 20, 30, 40, 50)) # المخرجات: 150
استدعاء 3: بدون وسائط
print(calculate_sum()) # المخرجات: 0
الدمج مع الوسائط الموضعية
إذا كنت تستخدم كلاً من المعاملات العادية و *args ، فإن المعاملات العادية تأخذ الوسائط الأولى، و *args يجمع الباقي.
python def summarize(title, *items): print(f"--- {title} ---") for item in items: print(f"- {item}")
summarize("Shopping List", 'Milk', 'Bread', 'Eggs')