>>> class MyClass: name = 'FishC' def mufun(self): print('hello Fishc!') >>> MyClass.name#類對象對類的屬性進行直接訪問 'FishC' >>> MyClass.mufun()#但是類沒有實例化,訪問其中的方法,則成為不可能。 Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> MyClass.mufun() TypeError: mufun() missing 1 required positional argument: 'self' >>> a = MyClass() >>> a.mufun() hello Fishc!
我們常說的類指的是類定義,由於python無處不對象,所以當類定義之后,自然就成為一個類對象,在這個時候,你可以對類的屬性(變量)進行直接訪問,如上面的MyClass.name
一個類可以實例化出無數的對象(實例對象),python為了區分是哪個實例對象調用了方法,於是要求方法必須綁定(通過self參數)才能調用,而未實例化的對象直接調用方法就會報錯。