区别:
1、在标准库inspect 中,它提供了两个自省的函数,即 ismethod() 和 isfunction(),可以用来判断什么是方法,什么是函数。
2、Function也是包含一个函数头和一个函数体, 也同样支持0到n个形参,而Method则是在function的基础上, 多了一层类的关系, 正因为这一层类, 所以区分了function 和 method 。
3、本质上, 函数和方法的区别是: 函数是属于 FunctionObject , 而 方法是属 PyMethodObject
简单来看下代码:
def aa(d, na=None, *kasd, **kassd): passclass A(object): def f(self): return 1a = A()print '#### 各自方法描述 ####'print '## 函数 %s' % aaprint '## 类方法 %s' % A.fprint '## 实例方法 %s' % a.f
输出结果:
#### 各自方法描述 ###### 函数## 类方法 ## 实例方法 >