类的定义
定义一个类如下例:
class PythonStudent():
name = "ice"
age = 20
cource = "Python"
def printName(self):
print(self.name)
return None
def printAge(self):
print(self.age)
return None
stu = PythonStudent()
stu.name = "sword"
stu.printName()
stu.printAge()
以上的self表示,将实例自己作为函数的第一个参数。
方法访问实例的属性时,如果实例的属性没有赋值,则找到类的属性对应的值。
访问类的属性
在类里面,如果类的方法需要强制访问类的属性,使用class名访问类属性,或者用__class__访问类的属性。
如下例
class PythonStudent():
cource = "Python"
def printCource():
print(PythonStudent.cource)
print(__class__.cource)
return None
PythonStudent.printCource()
构造函数
构造函数的写法固定:def __init__(self),构造函数的self参数最好都要有。
继承
子类可以使用父类的内容或者行为。所有类都必须有一个父类,如果没有,则默认为是object的子类。在Python中,一个类可以有多个父类。构造函数默认继承。
issubclass检测是否是子类,用来检测两个类的父子关系。
python中,一个类可以有多个父类。在多继承的情况下,多继承属性和方法的搜索是按继承顺序来搜索的。这种搜索方法叫“广度优先搜索”。