不同函数调用方式对应不同的绑定次数:
import profile
class A:
def f(self):
pass
def foo():
a =
A()
for i
in range(100000
):
a.f()
if __name__ ==
'__main__':
profile.run("foo()")
import profile
class A:
def f(self):
pass
def foo():
a =
A()
func =
a.f
for i
in range(100000
):
func()
if __name__ ==
'__main__':
profile.run("foo()")
因为调用a.f()时,a对象需要对f进行一次绑定,如果调用一次,就进行绑定一次,很显然第一次情况比第二种情况的开销大了很多。
第二种况只绑定一次。
转载于:https://www.cnblogs.com/zhuangzebo/p/4525817.html
相关资源:数据结构—成绩单生成器