文章来源:Python中函数和方法的区别 - Magic_chao - 博客园
侵删
虽然不能完全看懂,但还是刨个坑丢在这里,以后知识丰富了再来填
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