صحيح، فكل الأشياء (المتغيرات، الدوال، القوائم، الصفوف، وغيرها) عبارة عن كائنات.
وفي بايثون، يتم التعامل مع البيانات والعمليات على شكل كائنات. الكائنات تحتوي على خصائص (بيانات) وأساليب (وظائف)، ويمكن للكائنات التفاعل مع بعضها البعض وتبادل البيانات والمعلومات.
ومن الممكن أن تكون الكائنات من الأنواع المدمجة في بايثون مثل الأعداد والسلاسل والقوائم والقواميس.
ومن الممكن أيضًا أن تكون الكائنات من الأنواع المخصصة التي يتم إنشاؤها بواسطتك، وكل شيء في بايثون يعتبر كائنًا، بما في ذلك المفاهيم الأساسية مثل الدوال والمتغيرات، كالتالي:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print("My name is", self.name, "and I'm", self.age, "years old.")
# إنشاء كائن من النوع "Person"
person = Person("أحمد", 25)
person.introduce() # الطباعة: My name is أحمد and I'm 25 years old.
تم تعريف الكائن Person المخصص باستخدام الكلمة المفتاحية class، وتحديد خصائص وأساليب الكائن في الداخل.
مثل تحديد خاصيتين له (الاسم والعمر) بالإضافة إلى أسلوب (introduce) يقوم بطباعة معلومات الشخص، ثم إنشاء كائن من النوع "Person" واستدعاء الأسلوب (introduce) لطباعة المعلومات.
وكمثال آخر للتوضيح، لنفترض أن لدينا كائنًا من النوع "قائمة" (List) يحتوي على أرقام:
numbers = [1, 2, 3, 4, 5]
فتستطيع الوصول إلى خصائص الكائن واستخدام الأساليب المتاحة له، كاستخدام الأسلوب append() لإضافة عنصر جديد إلى القائمة:
numbers.append(6)
print(numbers)
والنتيجة هي طباعة القائمة بعد إضافة العنصر الجديد:
[1, 2, 3, 4, 5, 6]
و باستخدام الأسلوب append() المتاح لكائن القائمة (الكائن numbers) أضفنا العنصر 6 إلى نهاية القائمة.