العودة إلى الدورة

الوسائط العشوائية: `*args` (موضعية)

برمجة Python: معسكر التدريب من الصفر إلى الاحتراف

الوسائط الموضعية العشوائية (*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')