Python 類和物件
Python 類/物件
Python 是一種面向物件的程式語言。
Python 中的幾乎所有東西都是物件,都具有屬性和方法。
類就像一個物件建構函式,或者是建立物件的“藍圖”。
建立類
要建立一個類,請使用關鍵字 class
建立物件
現在我們可以使用名為 MyClass 的類來建立物件
__init__() 函式
上面的例子展示了最簡單的類和物件形式,在實際應用中並沒有什麼用處。
要理解類的含義,我們需要理解內建的 __init__() 函式。
所有類都有一個名為 __init__() 的函式,它在類被初始化時總是被執行。
使用 __init__() 函式為物件的屬性賦值,或者執行其他在建立物件時必需的操作。
示例
建立一個名為 Person 的類,使用 __init__() 函式為 name 和 age 賦值
class Person
def __init__(self, name, age)
self.name = name
self.age = age
p1 = Person("John", 36)
print(p1.name)
print(p1.age)
自己動手試一試 »
注意: 每次使用類建立新物件時,__init__() 函式都會自動呼叫。
__str__() 函式
__str__() 函式控制當類物件被表示為字串時應該返回什麼。
如果未設定 __str__() 函式,則返回物件的字串表示形式。
示例
沒有 __str__() 函式的物件的字串表示形式
class Person
def __init__(self, name, age)
self.name = name
self.age = age
p1 = Person("John", 36)
print(p1)
自己動手試一試 »
示例
帶有 __str__() 函式的物件的字串表示形式
class Person
def __init__(self, name, age)
self.name = name
self.age = age
def __str__(self)
return f"{self.name}({self.age})"
p1 = Person("John", 36)
print(p1)
自己動手試一試 »
物件方法
物件也可以包含方法。物件中的方法是屬於該物件的函式。
讓我們在 Person 類中建立一個方法。
示例
插入一個列印問候語的函式,並在 p1 物件上執行它
class Person
def __init__(self, name, age)
self.name = name
self.age = age
def myfunc(self)
print("Hello my name is " + self.name)
p1 = Person("John", 36)
p1.myfunc()
自己動手試一試 »
注意: self 引數是對類當前例項的引用,用於訪問屬於該類的變數。
self 引數
self 引數是對類當前例項的引用,用於訪問屬於該類的變數。
它不一定必須命名為 self,你可以隨便命名,但它必須是類中任何函式的第一個引數。
示例
使用 mysillyobject 和 abc 代替 self
class Person
def __init__(mysillyobject, name, age)
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc)
print("Hello my name is " + abc.name)
p1 = Person("John", 36)
p1.myfunc()
自己動手試一試 »
修改物件屬性
你可以像這樣修改物件的屬性
刪除物件屬性
你可以使用 del
關鍵字刪除物件中的屬性。
刪除物件
你可以使用 del
關鍵字刪除物件。
pass 語句
class
定義不能為空,但如果你出於某種原因有一個沒有內容的 class
定義,請使用 pass
語句來避免錯誤。