A Byte of Python

القيم المبدئية للمعطيات

قد ترغب في جعل معاملات بعض الدوال اختيارية واستخدام قيم مبدئية في حال لم يرغب المستخدم في إعطاء قيم لهذه المعاملات. ويتم ذلك باستخدام قيم مبدئية للمعطيات. يمكنك تحديد القيم المبدئية للمعطيات بإتباع اسم المعامل في تعريف الدالة بعلامة (=) متبوعة بالقيمة المبدئية.

علما بأن القيمة المبدئية للمعطى ينبغي أن تكون ثابتا. وسيتم شرح ذلك بشيء أكثر من التفصيل في فصول لاحقة. اما الآن، فقط تذكر هذا.

استخدام القيم المبدئية للمعطيات

مثال 7.5. استخدام القيم المبدئية للمعطيات

#!/usr/bin/python
# Filename: func_default.py
def say(message, times = 1):
	print message * times
say('Hello')
say('World', 5)
				

الخرْج

$ python func_default.py
Hello
WorldWorldWorldWorldWorld
				

كيف يعمل

تستخدم الدالة المسماة say لطباعة سلسلة ما عددا من المرات حسبمانريد. وإذا لم نعطها أية قيمة، فالوضع الافتراضي هو طباعة الجملة لمرة واحدة فقط. نحقق ذلك عن طريق جعل قيمة المعطى المبدئية للمعامل times تساوي 1.

في أول استخدام للدالة say، نعطي النص فقط فتقوم هي بطباعة الجملة مرة واحدة. في المرة الثانية نعطيها كلا من النص والمعطى 5 والذي يعني أننا نريد قول الجملة خمس مرات.

هام

المعاملات التي في نهاية قائمة المعاملات فقط يمكن أن تُعطى قيم معطيات مبدئية؛ بعبارة أخرى لا يمكن إعطاء قيمة معطى مبدئية لمعامل قبل معامل بدون قيمة معطى مبدئية.

وذلك بسبب أن القيم تسند إلى المعاملات حسب وضعيتها. على سبيل المثال: def func(a, b=5) صالحة بينما def func(a=5, b) غير صالحة.