هناك العديد من أسماءالطرق لها أهمية خاصة في فئات لغة بيثون. وسوف نرى المغزى من طريقة__init__ الآن.
تعمل طريقة__init__بمجرد عمل الكائن المنتمي للفئة. هذه الطريقة مفيدة لعمل أي تهيئة initializationتريد عملها مع الكائن. ولاحظ الشرطتين السفليتين في بداية الاسم ونهايته.
مثال 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()
هنا قمنا بتعريف الطريقة__init__ بإعطائها المعامل__init__(معselfالمعتاد).وهنا؛قمنا فحسب بإنشاء حقل جديد كذلك يسمى name.ولاحظ أنهما متغيران مختلفان رغم أنهما يحملان نفس الاسم. الاسم المنقوط يتيح لنا التفرقة بينهما.
والأكثر أهمية، أن تلاحظ أننا لا نستدعي صراحة طريقة__init__ولكن نقوم بتمرير قيم بداخل القوسين بعد اسم الفئة عندما ننشئ عنصر-instance جديد من هذه الفئة. وهذا هو المغزى الخاص من هذه الطريقة.
الآن، نحن قادرون على استخدام حقل self.nameفي طرقنا التي تتجلى في طريقة sayHi.
طريقة __init__مماثلة ل constructor في سي++/ سي# /أو جافا.