Python的类
Class是Python相当有特色的成分,Python的类是C++的大量简化,但又有所创新
按c++的术语来看,Python类的所有成员都是public, 所有函数都为virtual。
* Python class中的赋值(method外)定义了类属性(类似于C++的staitc 成员变量)
* Python method中定义的self变量,相当于C++的public类成员变量,可以外部直接访问。(但method如没有运行,则此name未创建,不能访问)
* method的名字如果为__X__,则表示hook(比如构造或运算符重载)
* instance.method(args) 等价于 class.method(instance, args)
* 继承合乎理解,object.name会按 instance->class->super的顺序解析,super的解析是从左到右,深度优先。
* 类中的name,如果是__xxx,则自动在之前被加上类名,不被继承。
按c++的术语来看,Python类的所有成员都是public, 所有函数都为virtual。
* Python class中的赋值(method外)定义了类属性(类似于C++的staitc 成员变量)
* Python method中定义的self变量,相当于C++的public类成员变量,可以外部直接访问。(但method如没有运行,则此name未创建,不能访问)
* method的名字如果为__X__,则表示hook(比如构造或运算符重载)
* instance.method(args) 等价于 class.method(instance, args)
* 继承合乎理解,object.name会按 instance->class->super的顺序解析,super的解析是从左到右,深度优先。
* 类中的name,如果是__xxx,则自动在之前被加上类名,不被继承。

0 Comments:
发表评论
<< Home