Python简明教程:面向对象【新手必学】
python面向对象的重要细节和概念,这部分的作用主要是为了深入的理解面向对象。为了完整的逻辑,可能与之前的内容有些许重复。
ps注意:很多人学python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个python全栈免费答疑.裙 :七衣衣九起起巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新python教程项目可拿,,一起相互监督共同进步!
类命名空间
对于我们定义好的一个类来说,会有一个属于类的命名空间用来存储类中定义的属性。而类中定义的属性又可以分为静态属性和动态属性。
静态属性就是定义在类中的变量,而动态属性就是定义在类中的方法。这里关于称呼方法为属性的说法之前也已经有过说明。
类的静态属性是所有对象共享的,而类的动态属性(静态方法)也是绑定到所有对象上的。
对象命名空间
根据定义的类实例化得到的一个对象之后,会有一个对象的名称空间来存放对象的属性。在我们使用对象名来调用属性的时候,会首先在该名称空间内找,找不到会到类名称空间内找,还找不到会去父类中找,如果还找不到的话就会报异常。
接口类
"三流企业做产品、二流企业做品牌、一流企业定标准" 相信这句话你或多或少的听说过。
我们这里的接口类,也是用来定义标准的。例如支付,支付宝,微信支付,applepay 等内部实现肯定不会完全相同。如果关于这个支付,我们定义一个接口,也就是一个标准来规范功能的调用,也就能够使用统一的格式来调用不同类型的支付。
关于定于接口,我们需要借助abc模块来完成相应的功能。
上面的代码也是看起来想接口而已,其实子类不去实现其中的抽象方法也完全没有问题,并没有达到我们想要的效果。事实上,python 中也没有提供接口相关的关键字 interface ,现在有一些能够实现接口功能的第三方模块也只是对接口概念的一个模仿。
抽象类
抽象类是一个特殊的类,它不能被实例化,但是可以被继承。上面提到的接口,接口之中必须全部是抽象方法,我们退一步讲,如果一个类中只有部分的方式是抽象的,也有一些方法已经具有完整的实现,那个这种类就是抽象类。抽象类其实是一个介于类和接口之间的概念,同时具有类和接口的部分属性,对于归一化也有一定帮助。从另一个角度来看,类是由对象抽象得到的,而抽象类就是由类抽象而来。
钻石继承
经典类采用深度优先的原则,而新式类则采取了广度优先的原则。
多态性
就一句,记住,python不支持多态性。
then,that’s all,thank you。
总结注意:很多人学python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个python全栈免费答疑.裙 :七衣衣九起起巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新python教程项目可拿,,一起相互监督共同进步!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
上一篇: 开始你的第一个Django应用【Python web实战】
下一篇: 汇编语言求两数之和