缺点已经很明显了: 函数未绑定, 必须要将A的实例作为第一个参数
既然它请求第一个参数是 A的实例对象, 那我们就试下修改代码:
Bound Method 和 Unbound Method
- class A(object):
- def f(self):
- return 1
- a = A()
- print '#### 各自办法等效调用 ####'
- print '## 类办法 %s' % A.f(a) #传入A的实例a
- print '## 实例办法 %s' % a.f()
- ## 结不雅 ##
- #### 各自办法等效调用 ####
- ## 类办法 1
- ## 实例办法 1
可以看出来, Bound 和 Unbound断定的根据就是, 当办法真正履行时, 有没有传入实例, A.f(a) 和 a.f() 用法的差别只是在于, 第一种须要工资传入实例才能调用, 而第二种, 是虚拟机帮我们做好了传入实例的动作, 不消我们那么麻烦罢了, 两种办法本质上是等价的。
【编辑推荐】
- 进步Python运行效力的六个桥绫桥
- 7个你如今就钙揭捉?习Python的来由
- Python 中的异步编程:Asyncio
- 一文贯通python文件攫取
- 基于Python和JavaScript编写物联网温度计法度榜样
推荐阅读
5月11日下昼,以“视”创将来为主题的首届家庭及时视频家当联盟论坛在深圳福田隆重召开。华为云核心>>>详细阅读
本文标题:Python中的函数与方法 以及Bound Method和Unbound Method
地址:http://www.17bianji.com/lsqh/35218.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示