Django 函數和方法的區別

函數和方法的區別

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

二、若是是一個函數,用類名去調用,若是是一個方法,用對象去調用spa

class Foo(object):
    def __init__(self):
        self.name="lily "
    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
相關文章
相關標籤/搜索