3.1.9 類內部定義的函數:綁定方法與非綁定方法
阿新 • • 發佈:2018-05-31
說明 第一個 ini 對象 assm 說了 In true @class
‘‘‘
在類內部定義的函數,分為兩大類:
一:綁定方法:綁定給誰,就應該由誰來調用,誰來調用就會把調用者當作第一個參數自動傳入
1. 綁定到對象的方法:在類內定義的沒有被任何裝飾器修飾的
2. 綁定到類的方法:在類內定義的被裝飾器@classmethod修飾的方法
二:非綁定方法:沒有自動傳值這麽一說了,就類中定義的一個普通工具,對象和類都可以使用
非綁定方法:不與類或者對象綁定,在類內定義的被裝飾器@staticmethod修飾的方法
說明:未做任何修飾時:在類內定義的方法是綁定給對象的,對象調用時,不需要傳自己給self. 類調用類的方法時,需要傳self(對象)給第一個參數。
‘‘‘
class Foo: def __init__(self,name): self.name=name def tell(self): print(‘名字是%s‘ %self.name) @classmethod def func(cls): #cls=Foo print(cls) @staticmethod def func1(x,y): print(x+y) f=Foo(‘egon‘) # print(Foo.tell) # Foo.tell(f) # print(f.tell) # f.tell() # print(Foo.func) # Foo.func() # print(Foo.func1) # print(f.func1) Foo.func1(1,2) f.func1(1,3)
3.1.9 類內部定義的函數:綁定方法與非綁定方法