python中函數和方法的區別


首先摒棄錯誤認知:並不是類中的調用都叫方法

看舉例看代碼

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!判斷沒錯


免責聲明!

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



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