الفئات والاشياء في Python

صنف/كائن Python

Python هو لغة برمجة معتمدة على الكائنات.

في Python، تقريبًا كل شيء هو كائن، يمتلك الخصائص والطرق.

الصنف (Class) يشبه بناء الكائن أو هو "خطة" لإنشاء الكائنات.

إنشاء صنف

لإنشاء صنف، استخدم class الكلمات المفتاحية:

实例

استخدم الخاصية يُدعى x لإنشاء صنف يُدعى MyClass:

class MyClass:
  x = 5

运行实例

إنشاء الكائن

الآن يمكننا استخدام صنف يُدعى myClass لإنشاء الكائنات:

实例

أنشئ كائنًا يُدعى p1، واطبع قيمة x:

p1 = MyClass()
print(p1.x)

运行实例

دالة __init__()

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

لفهم معنى الصنف، يجب علينا أولاً فهم المبنيين الداخليين. __init__() دالة.

كل صنف يحتوي على دالة يُدعى __init__()، وهي تُدعى دائمًا عند بدء الصنف.

استخدم دالة __init__() لتعيين القيم للخصائص للكائن، أو أفعال أخرى يجب تنفيذها عند إنشاء الكائن:

实例

أنشئ صنفًا يُدعى Person، واستخدم دالة __init__() لتعيين القيم لـ name وage:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
p1 = Person("Bill", 63)
print(p1.name)
print(p1.age)

运行实例

التعليقات:كلما تم استخدام صنف لإنشاء كائن جديد،تُدعى تلقائيًا دالة __init__()

طريقة الكائن

يمكن للكائنات أيضًا أن تحتوي على طرق. الطريقة في الكائن هي دالة تنتمي إلى الكائن.

لنقم بإنشاء طريقة في صنف Person:

实例

أضف دالة طباعة التحية، وأدخلها على الكائن p1:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def myfunc(self):
    print("Hello my name is " + self.name)
p1 = Person("Bill", 63)
p1.myfunc()

运行实例

إشارة:المرجع self هو مرجع إلى الصنف الحالي للفئة، يستخدم لاستدعاء المتغيرات التي تنتمي إلى الفئة.

self 参数

self 参数是对类的当前实例的引用,用于访问属于该类的变量。

它不必被命名为 self,您可以随意调用它,但它必须是类中任意函数的首个参数

实例

使用单词 mysillyobject 和 abc 代替 self:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age
  def myfunc(abc):
    print("Hello my name is " + abc.name)
p1 = Person("Bill", 63)
p1.myfunc()

运行实例

修改对象属性

您可以这样修改对象的属性:

实例

把 p1 的年龄设置为 40:

p1.age = 40

运行实例

删除对象属性

您可以使用 del 关键字删除对象的属性:

实例

删除 p1 对象的 age 属性:

del p1.age

运行实例

删除对象

使用 del 关键字删除对象:

实例

删除 p1 对象:

del p1

运行实例

pass 语句

类定义不能为空,但是如果您出于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误。

实例

class Person:
  pass

运行实例