以下得概念,只要你理解了,Python 基本上 可以上手了.是深入的理解 .
以下都是本人自己总结, 如有概念不一致,请矫正.
首先是类的概念.
有很多其他的语言.可以写一个文件一个类.还有一些就是硬性的一个文件一个类,你根本不知道他底层.
基本面向对象的语言基类都是objcet python 也不例外. 要说Python 跟其他的语言对比有什么优势的话,Python动态语言太灵活了轻松随意,新手根本无法从底层去想.
只是设想他是怎么实现的.
正题开始:
一:类:
1.它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
2.类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在类函数体之外。
3.数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
对象:
1.通过类所产生的描述体.
2.对象变量:他是可以动态添加,输入.只对当前的对象有效.
3.数据成员: 持有类的成员, 相当于有类的主体结构. 还可以动态生成想要的功能.
4.实例变量:定义在方法中的变量,一般都是self后,只作用于当前实例的类。
关系:
相对 ,绝对.
二:对象属性,类属性
类属性:
在每个对象都会存在,(这里好像主体框架),只能类本身来修改
对象:
使用对象创建的属性 只有当前对象存在该属性 称为对象属性
优先级:
对象属性的优先级高于类属性
三:实现类属性对象属性
类:
在类中定义,相当于一个变量.赋初值.
对象:
通过类中方法,生成.
直接赋值.
动态绑定 通过,types 模块 绑定
四:装饰器属性
属性就是set get方法, 方便于使用 .
五:方法
在类中可以定义三种方法,类,静态,普通
三种方法的调用方式不一致.
普通方法 ,作用用对象.
类方法 ,作用于类
静态则作用于类和对象.
六,继承:
面向对象语言没有继承将毫无意义. 但是多继承就有点过了吧.
继承就是让你拥有你没有写过的功能,直白一点就是可以让你不用写太多代码.
多继承, 我是比较反感的. 一个功能也可以写成一个类,这样的话,是不是面向对象呢?
重写, C3算法.从左到右.
七:Python自省
检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。
网友评论