Python中的類(lèi)是一種面向?qū)ο蟮木幊棠J剑饕脕?lái)封裝數(shù)據(jù)和行為的組合。在定義一個(gè)類(lèi)時(shí),通常會(huì)在類(lèi)名后面添加一對(duì)括號(hào)。
class MyClass(): def __init__(self, name): self.name = name def my_method(self): print("hello, %s!" % self.name) my_instance = MyClass("world") my_instance.my_method()
在上面的代碼中,我們定義了一個(gè)類(lèi)MyClass,它有一個(gè)構(gòu)造函數(shù)__init__,傳入一個(gè)參數(shù)name,并將它保存在self.name中。還有一個(gè)方法my_method,它可以輸出稱(chēng)謂self.name的字符串。
在類(lèi)定義完成后,我們可以創(chuàng)建一個(gè)類(lèi)的實(shí)例,這里我們創(chuàng)建了一個(gè)MyClass的實(shí)例,并傳入?yún)?shù)"world"。然后我們調(diào)用實(shí)例的my_method方法,它會(huì)將保存在實(shí)例中的名稱(chēng)輸出。
需要注意的是,在Python3中,類(lèi)名后面的括號(hào)可以省略,如下所示:
class MyClass: def __init__(self, name): self.name = name def my_method(self): print("hello, %s!" % self.name) my_instance = MyClass("world") my_instance.my_method()
與上面的代碼相比,只是類(lèi)名后面的括號(hào)被省略了,但它的效果與上面的代碼完全一樣。然而,在Python2中,類(lèi)名后面的括號(hào)是必須的。