我一直在和你讨论功能和方法。很多时候我们会混淆这两个内容。真的吗?如果相同,为什么有两个名词,功能或方法?
?毫无疑问,一个函数就是一个函数,一个方法就是一个方法,两者是独立的个体,那么我们如何区分它们,或者说在什么场景下如何使用它们来区分呢?一起来看看吧~
区别:
1、
在标准库
inspect 中,它提供了两个自省的函数,即 ismethod() 和 isfunction(),可以用来判断什么是方法,什么是函数。
2.Function还包括函数头和函数体,也支持0到n个形参,而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
输出结果
:
#### 各自方法描述 ###### 函数 <function aa at 0x000000000262AB38>## 类方法 <unbound method A.f>## 实例方法 <bound method A.f of <__main__.A object at 0x0000000002633198>>
所以大家看懂了吗?
以上内容是转换函数和方法的区别的一个例子。如果仔细观察,你会很容易发现两者之间的差异是相当大的,但在某些情况下,你可以把它混为一谈。具体案例有哪些?让我们继续学习,了解更多
~
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python可以做网站吗12/16
- ♥ 神器 VS Code,超详细Python配置使用指南01/21
- ♥ 如何用python画同心圆08/19
- ♥ Python 中的 7 个实用技巧!12/20
- ♥ python语言容易学吗?08/12
- ♥ python如何从字符变为整数09/18
内容反馈