類的定義
定義一個類如下例:
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中,一個類可以有多個父類。在多繼承的情況下,多繼承屬性和方法的搜索是按繼承順序來搜索的。這種搜索方法叫“廣度優先搜索”。