Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Attributes

جزء من قسم Object Oriented Programming في رحلة Python على Coddy — الدرس 6 من 64.

السمات (Attributes) هي بيانات أو متغيرات تنتمي إلى فئة (class) أو كائناتها. وهي تخزن معلومات حول حالة الكائن.

هناك نوعان من السمات (attributes): 

سمات الفئة (Class attributes) - تتشاركها جميع كائنات الفئة:

class Student:
    school_name = "Python Academy"  # سمة الفئة

سمات الكائن (Instance attributes) - فريدة لكل كائن:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # سمة كائن
        self.age = age      # سمة كائن

قم بإنشاء كائنات للطلاب وتعيين بياناتهم الفردية:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

الوصول إلى سمات المثيل (فريدة لكل كائن):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

الوصول إلى سمات الفئة (نفسها لجميع الكائنات):

print(student1.school_name)    # Python Academy
print(student2.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

المخرجات:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

الفرق الرئيسي: تُشارك سمات الفئة (Class attributes) بواسطة جميع الكائنات، بينما تكون سمات المثيل (instance attributes) فريدة لكل كائن. استخدم self.attribute_name لسمات المثيل وفقط attribute_name لسمات الفئة.

ورقة مرجعية

السمات (Attributes) هي بيانات أو متغيرات تنتمي إلى فئة (class) أو كائناتها (objects).

سمات الفئة (Class attributes) - مشتركة بين جميع كائنات الفئة:

class Student:
    school_name = "Python Academy"  # سمة فئة

سمات الكائن (Instance attributes) - فريدة لكل كائن، ويتم تعريفها باستخدام self:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # سمة كائن
        self.age = age      # سمة كائن

الوصول إلى سمات الكائن:

student1 = Student()
student1.set_info("Alice", 20)
print(student1.name)    # Alice

الوصول إلى سمات الفئة:

print(student1.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming