Task07:类、对象与魔法方法

  1. 对象 = 属性 + 方法
    对象是类的实例。换句话说,类主要定义对象的结构,然后我们以类为模板创建对象。类不但包含方法定义,而且还包含所有实例共享的数据。
    封装:信息隐蔽技术
    我们可以使用关键字 class 定义 Python 类,关键字后面紧跟类的名称、分号和类的实现。
    继承:子类自动共享父类之间数据和方法的机制
    Python 的 self 相当于 C++ 的 this 指针。
    类有一个名为__init__(self[, param1, param2…])的魔法方法,该方法在类实例化时会自动调用。
    在 Python 中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会为私有的了。
  2. 类、类对象和实例对象
    Task07:类、对象与魔法方法_第1张图片
    类属性和实例属性区别
    类属性:类外面,可以通过实例对象.类属性和类名.类属性进行调用。类里面,通过self.类属性和类名.类属性进行调用。
    实例属性 :类外面,可以通过实例对象.实例属性调用。类里面,通过self.实例属性调用。
    实例属性就相当于局部变量。出了这个类或者这个类的实例对象,就没有作用了。
    类属性就相当于类里面的全局变量,可以和这个类的所有实例对象共享。
  3. Python 严格要求方法需要有实例才能被调用,这种限制其实就是 Python 所谓的绑定概念。
    Python 对象的数据属性通常存储在名为.__ dict__的字典中,我们可以直接访问__dict__,或利用 Python 的内置函数vars()获取.__ dict__。
  4. 魔法方法总是被双下划线包围,例如__init__。
    魔法方法的第一个参数应为cls(类方法) 或者self(实例方法)。
    cls:代表一个类的名称
    self:代表一个实例对象的名称

你可能感兴趣的:(Python)