أحيانًا نريد أن تعمل الدالة حتى لو لم نرسل لها قيمة، أو نريدها أن تتعامل مع أكثر من قيمة في الوقت نفسه. في هذه الحالة نستخدم القيم الافتراضية والمعاملات المتعددة.
أولًا: القيم الافتراضية
يمكننا إعطاء قيمة افتراضية لأي متغير داخل الدالة. إذا لم يرسل المستخدم قيمة، تُستخدم القيمة الافتراضية تلقائيًا.
def greet(name="User"):
print("Hello,", name)
greet()
greet("Massa")
ثانيًا: المعاملات المتعددة
يمكن للدالة أن تستقبل أكثر من قيمة في الوقت نفسه.
def add(a, b, c):
print("Sum =", a + b + c)
add(2, 4, 6)
ثالثًا: تمرير عدد غير محدد من القيم
أحيانًا لا نعرف كم عدد القيم التي سيرسلها المستخدم. يمكننا استخدام *args لتجميع هذه القيم داخل قائمة.
def show_numbers(*numbers):
for n in numbers:
print(n)
show_numbers(1, 2, 3, 4)