سمات الكائنات مقابل سمات الفئات
ميّز بين البيانات الخاصة بكل كائن والبيانات المشتركة على مستوى الفئة
سمات الكائنات مقابل سمات الفئات درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.
مقدمة
سمة الفئة
class Dog:
legs = 4
print(Dog.legs)
print(Dog().legs)سمة المثيل
class Dog:
def __init__(self, name):
self.name = name
d1 = Dog('Rex')
d2 = Dog('Buddy')
print(d1.name, d2.name)ترتيب البحث عن السمات
class C:
x = 10
c = C()
c.x = 99 # instance shadows class attr
print(c.x) # 99
print(C.x) # 10مشكلة سمة الفئة القابلة للتغيير
class C:
items = []
C.items.append(1)
print(C().items) # [1] — shared!حل مشكلة القيم القابلة للتغيير
class C:
def __init__(self):
self.items = []
c1 = C(); c2 = C()
c1.items.append(1)
print(c1.items, c2.items)فحص __dict__
class Dog:
legs = 4
def __init__(self, name): self.name = name
d = Dog('Rex')
print(d.__dict__)
print(Dog.__dict__.keys())طرق الفئة كمنشئات
class Date:
def __init__(self, y, m, d): self.y,self.m,self.d=y,m,d
@classmethod
def from_string(cls, s):
y,m,d=map(int,s.split('-'))
return cls(y,m,d)
dt=Date.from_string('2024-01-15')
print(dt.y,dt.m,dt.d)الطرق الساكنة
class MathUtils:
@staticmethod
def add(a, b): return a + b
print(MathUtils.add(3, 4))تتبّع المثيلات باستخدام سمة الفئة
class Widget:
count = 0
def __init__(self):
Widget.count += 1
Widget(); Widget(); Widget()
print(Widget.count)hasattr() و vars()
class P:
def __init__(self, x): self.x = x
p = P(5)
print(hasattr(p, 'x'), hasattr(p, 'z'))
print(vars(p))تحقق سريع
مراجعة
واصل التقدم
الأسئلة الشائعة
هل درس «سمات الكائنات مقابل سمات الفئات» مجاني؟
نعم — نص درس «سمات الكائنات مقابل سمات الفئات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.
ماذا ستتعلم في «سمات الكائنات مقابل سمات الفئات»؟
ميّز بين البيانات الخاصة بكل كائن والبيانات المشتركة على مستوى الفئة تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «سمات الكائنات مقابل سمات الفئات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الفئات والطريقة __init__
- سمات الكائنات مقابل سمات الفئات
- طرق الكائن وself
- الطرق السحرية: __str__ و__repr__