"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تعتبر طريقة `__init__` ضرورية لفئات بايثون؟

لماذا تعتبر طريقة `__init__` ضرورية لفئات بايثون؟

تم النشر بتاريخ 2024-11-07
تصفح:340

Why is the `__init__` method essential for Python classes?

لماذا نستخدم init في فئات بايثون؟

تعد تهيئة الفئات في بايثون مفهومًا أساسيًا يسمح لك بالإنشاء حالات الفئات ذات سمات وسلوكيات محددة. تعمل الطريقة init كمنشئ للفئة، مما يوفر التهيئة والتكوين للكائنات الجديدة.

فهم الفئات والكائنات

من المهم أن التمييز بين الفئات، وهي مخططات للكائنات، والكائنات، وهي مثيلات لتلك الفئات. تحدد الفئات السمات والأساليب التي سترثها كائناتها. عند إنشاء كائن من فئة، يتم استدعاء init تلقائيًا وتهيئة سمات الكائن.

تكوين سمات المثيل

داخل init__ ، يمكنك تكوين سمات المثيل للكائن. هذه السمات خاصة بكل كائن وتستخدم لتخزين البيانات أو الحفاظ على الحالة. من خلال تمرير المعلمات إلى طريقة __init، يمكنك تخصيص تكوين كل مثيل.

على سبيل المثال، تحدد الفئة التالية كائن Dog بسمات للأرجل واللون:

class Dog:
  def __init__(self, legs, color):
    self.legs = legs
    self.color = color

fido = Dog(4, "brown")
spot = Dog(3, "mostly yellow")

في هذا المثال، fido وspot عبارة عن مثيلات لفئة Dog، ولكل منها قيم فريدة خاصة بها للأرجل واللون.

تخصيص سمات الفئة والمثيل

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

على سبيل المثال، تحتفظ الفئة التالية بإحصاء لجميع مثيلات Dog التي تم إنشاؤها:

class Dog:
  census = []  # Class-level attribute

  def __init__(self, legs, color):
    self.legs = legs
    self.color = color
    Dog.census.append(self)

fido = Dog(4, "brown")
spot = Dog(3, "mostly yellow")

print(Dog.census)  # Prints [, ]

الاستنتاج

الفهم يعد init أمرًا بالغ الأهمية لاستخدام الفئات في Python بشكل فعال. يسمح لك بتهيئة سمات المثيل، وتخصيص تكوينات الكائن، وإنشاء فئات بسمات مستوى الفصل ومستوى المثيل.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3