類對象可直接訪問屬性,但未實例化不能調用方法


>>> 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參數)才能調用,而未實例化的對象直接調用方法就會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM