?? 类
?? 实例
?? 绑定与方法调用
?? 子类,派生和继承
?? 内建函数
?? 定制类
??
私有性
?? 授权与包装
?? 新式类的高级特性
?? 相关模块
首先要知道的是python 2.2版本对类做出了更改。2.2版本及以后版本的类是python的新式类,之前的类属于旧式类。新式类是旧式类的一个超级。在定义类的时候,如果你没有显示的指定它的父类,那么你就定义了一个旧式类,反之是新式类。
类的创建语法在python中非常简单,如下:
class className(base): ‘‘‘class documentation string‘‘‘ class_suite
上面的代码就定义了一个类,如果是C/C++在类定义之前要先声明类。但是在python中不用。
类属性应该包括数据属性和方法。学习类属性最重要的一点就是能将它和对象属性区分开。这里仅需要记住这一点,在学习到实例对象的时候可以再回过头来分析这句话。另外一点要注意的是类的属性,本身也应该是对象。比如下面一段代码中,A是一个类,att1是类的属性,我们访问A.att1.__class__其实是访问att1的类。
>>> class A: ... pass ... >>> A.att1=1 >>> A.att1.__class__ <type ‘int‘>
查看类的属性可以用如下两种方式:
>>> dir(A) [‘__doc__‘, ‘__module__‘, ‘att1‘] >>> print A.__dict__ {‘__module__‘: ‘__main__‘, ‘__doc__‘: None, ‘att1‘: 1}
第一种是用 dir 内建函数,第二种是通过__dict__属性。
python的类有一些固有的特殊属性,我们把它们列出来如下:
C.__name__ 类C的名字(字符串) C.__doc__ 类C的文档字符串 C.__bases__ 类C的所有父类构成的元组 C.__dict__ 类C的属性 C.__module__ 类C定义所在的模块(1.5 版本新增) C.__class__ 实例C对应的类(仅新式类中)
原文:http://www.cnblogs.com/kramer/p/3737292.html