python之靜態方法類方法、例項方法
阿新 • • 發佈:2021-10-15
1、例項化方法:
1、 該方法一定有引數,一般引數為self,通過它來傳例項化物件屬性名和屬性,該方法只能由例項化物件呼叫
2、例項化方法是能夠被類物件呼叫的 單純的呼叫會報錯
顯然,程式會報錯,但是我們觀察一下報錯的資訊提示,即:呼叫的方法中沒有給self傳引數,slef就是我們物件的引用。
這個提示告訴了我們,之前在使用例項物件呼叫例項方法的時候,其實是python自動給self引數進行了傳值,而使用Dog.action()的方式,我們只有類物件的引用,缺少例項物件的引用,python不能夠實現自動的傳遞了。
正確的方式
2、類方法:
使用裝飾器進行修飾,即@classmethod,會有引數,第一引數是cls即第一類物件。用來傳遞類屬性和類方法名。例項化物件和類物件都能夠直接呼叫
3、靜態方法:
需要加裝飾器,即@staticmethod,方法名當中沒有任何引數,方法體當中不允許含有類屬性和例項化屬性,呼叫的話例項化物件和類物件都可以