Python中函數和方法的區別


 

1、函數要手動傳self,方法不用傳self

2、如果是一個函數,用類名去調用,如果是一個方法,用對象去調用 

舉例說明:

class Foo(object):
    def __init__(self):
        self.name="haiyan"
    def func(self):
        print(self.name)

obj = Foo()
obj.func()
Foo.func(obj)

 

判斷函數和方法的方式

from types import FunctionType,MethodType
obj = Foo()
print(isinstance(obj.func,FunctionType))  #False
print(isinstance(obj.func,MethodType))   #True   #說明這是一個方法

print(isinstance(Foo.func,FunctionType))  #True   #說明這是一個函數。
print(isinstance(Foo.func,MethodType))  #False

 


免責聲明!

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



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