首先摒棄錯誤認知:並不是類中的調用都叫方法
看舉例看代碼
class Foo(object): def func(self): pass #實例化 obj = Foo() # 執行方式一:調用的func是方法 obj.func() #func 方法 # 執行方式二:調用的func是函數 Foo.func(123) # 函數
是的!例子中很明確,類對象調用func是方法,類調用func是函數,並且是自己傳遞參數123!
最大的區別是參數的傳遞參數,方法是自動傳參self,函數是主動傳參
那么以后我們就可以直接看參數是如何傳遞的來判斷,
如果還不確定可以打印類型看看
from types import FunctionType,MethodType print(isinstance(obj.func,MethodType)) ---># True print(isinstance(Foo.func,FunctionType)) ---># True
ok!判斷沒錯
