A Byte of Python

الطريقة __init__ method

هناك العديد من أسماءالطرق لها أهمية خاصة في فئات لغة بيثون. وسوف نرى المغزى من طريقة__init__ الآن.

تعمل طريقة__init__بمجرد عمل الكائن المنتمي للفئة. هذه الطريقة مفيدة لعمل أي تهيئة initializationتريد عملها مع الكائن. ولاحظ الشرطتين السفليتين في بداية الاسم ونهايته.

استخدام الطريقة __init__

مثال 11.3. استخدام الطريقة __init__

#!/usr/bin/python
# Filename: class_init.py
class Person:
	def __init__(self, name):
		self.name = name
	def sayHi(self):
		print 'Hello, my name is', self.name
p = Person('Swaroop')
p.sayHi()
# This short example can also be written as Person('Swaroop').sayHi()
				

الخرْج

$ python class_init.py
Hello, my name is Swaroop
				

كيف يعمل

هنا قمنا بتعريف الطريقة__init__ بإعطائها المعامل__init__(معselfالمعتاد).وهنا؛قمنا فحسب بإنشاء حقل جديد كذلك يسمى name.ولاحظ أنهما متغيران مختلفان رغم أنهما يحملان نفس الاسم. الاسم المنقوط يتيح لنا التفرقة بينهما.

والأكثر أهمية، أن تلاحظ أننا لا نستدعي صراحة طريقة__init__ولكن نقوم بتمرير قيم بداخل القوسين بعد اسم الفئة عندما ننشئ عنصر-instance جديد من هذه الفئة. وهذا هو المغزى الخاص من هذه الطريقة.

الآن، نحن قادرون على استخدام حقل self.nameفي طرقنا التي تتجلى في طريقة sayHi.

ملاحظة لمبرمجي سي++/جافا/سي#

طريقة __init__مماثلة ل constructor في سي++/ سي# /أو جافا.