@R星校长
第2关:类的属性与实例化
属性就是对类和对象特征的描述,外部以属性来区分不同的类,类具有数据属性和方法。而由类创建出来的实例-对象,具有它所属的类的数据属性和方法。
例如,书本是一个类,它具有作者、书名、出版社等数据属性,它还具有销售这一个方法。《 Python 核心编程》就是书本类的一个对象,它也具有作者、书名、出版社等数据属性和销售这一个方法。本关的任务是让学习者掌握类的属性与实例化。
类的数据属性
类的数据属性只与类绑定,不属于任何实例。在类创建后,属性也被创建,类的数据属性也可以称为静态变量,它通常用来跟踪与类相关的值。类的数据属性使用的并不多,一般都是用实例数据属性。例如:
class DataProperty:
theData = 10
在上面的例子中,theData
就是类的数据属性。
类中还有很多特殊属性,具体如下:
ClassName.__name__
:类ClassName
的名字;ClassName.__doc__
:类ClassName
的文档字符串;ClassName.__bases__
:类ClassName
的所有父类构成的元组;ClassName.__dict__
:类ClassName
的属性;ClassName.__module__
:类ClassName
定义所在的模块;Instance.__class__
:实例Instance
所对应的类。
类的方法
类中的方法也称为函数。Python中用关键字def
定义一个方法,后面接方法名,最后接参数。例如:
class MethodExample:
def