且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

python基础教程第二版 7 更加抽象:类

更新时间:2022-05-19 09:54:03

python基础教程第二版 7 更加抽象:类
类是python的核心概念
对象(object)+数据操作方法=面向对象程序设计
对象优点:多态,封装,继承
绑定到对象特性上的函数称为方法(method).
对象有自己的状态,对象的状态由它的特性描述.
继承是另外一个懒惰的行为.
类可以看做一种对象的集合,子类就是这个对象的子集
A{B{}},A是B的超类,B是A的子类.
旧版本中,类与类型有区别.内建对象是基于类型的,自定义的对象则是基于类的.

新式类:
__mateclass__ = type #确定使用新式类
class 类名(超类):
    def 方法(self,属性):#self是对对象自身的引用.
        self.属性=值
显然没有self的话,成员方法就没法访问他们要对其特性进行操作的对象本身了.

类.方法(self实例)=self实例.方法()
self参数事实上正是方法和函数的区别.
    方法将第一个参数绑定到所属的实例上,因此这个参数可以不必提供.
    变量也可以绑定到方法上,跟直接使用方法一样使用.
python并不直接支持私有方式,依靠程序员把握在外部进行修改的时机,只要在方法名称前添加__双下划线即可.
外部如果要访问使用
    实例._类名__私有方法
    使用_单下划线的方法都不会被import 的 * 导入
类命名空间:这个命名空间可以由类所有成员访问.
查看一个类是否为另一个类的子类用issubclass(子类,父类)
查看子类的基类,使用 __bases__ 特性
多重继承,超类列表中的在前的会重写后面的相同方法.方法判定顺序.
接口与多态有关.