1. 定义
1.1 类
用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
1.1.1 对象
对象是类的实例。对象包括方法和两个数据成员(类变量和实例变量)。
1.1.1.1 方法
类中定义的函数叫方法。
1.1.1.2 类变量
定义在类中且在函数体(方法)之外。在整个实例化的对象中是公用的。类变量通常不作为实例变量使用。
1.1.1.3 实例变量
定义在方法中的变量,只作用于当前实例的类。
2. 创建
使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:
class ClassName:
3. 类中的方法
3.1 __init__ 方法
__init__ 方法是类中最重要的方法,被称为类的构造函数或初始化方法。当创建了这个类的实例时就会调用该方法。
举个例子,输入:
class Statistics: #Statistics是类名
def __init__(self,name,numbers):
self.name = name
self.numbers = numbers
tools = Statistics("eraser",3) #创建实例
print(tools.name)
print(tools.numbers)
输出:
eraser
3
“self”在定义类的方法时是必须有的,在调用时不必传入相应的参数。
3.2 其它方法
类可以定义其它的方法来增加它的功能。所有的方法的第一个参数都必须是self。
这些其它的方法可以通过”点(.)”访问。
输入:
class Statistics: #Statistics是类名
def __init__(self,name,numbers):
self.name = name
self.numbers = numbers
def do(self):
print("good")
tools = Statistics("eraser",3) #创建实例
print(tools.name)
tools.do()
输出:
eraser
good
4. 类属性
4.1 类数据属性
4.1.1 类变量
类变量可以被类的实例访问,也可以被类自身访问。而实例变量只能通过实例访问。在类定义之后,可以通过类名动态添加类数据属性,新增的类变量也被类和所有实例共有。而在实例生成后,也可以动态添加实例数据属性,但是这些实例变量只属于该实例。
举个例子,输入:
class Statistics: #Statistics是类名
pencils = 5
def __init__(self,name,numbers):
self.name = name
self.numbers = numbers
tools = Statistics("eraser",3) #创建实例
print(Statistics.pencils)
print(tools.pencils)
输出:
5
5
4.2 python内置类属性
4.2.1 __dict__
得到类的数据属性组成的一个字典。
4.2.2 __doc__
得到类的文档字符串。
4.2.3 __name__
得到类名。
4.2.4 __module__
得到类定义所在的模块。
4.2.5 __bases__
得到类的所有父类(继承里的概念)组成的元组。