我听说python函数一旦被定义就被编译成字节码。
但是,根据this post,在此步骤中只进行了很少的优化。
所以,当我定义这个python函数时:
def dummy(obj):
i = obj
a = i
o = a
return o
def dummy(obj):
return obj
由解释器/编译器。
对于对象成员/字典访问,此函数:
def dummy(obj):
res = obj.member + obj.member ** 2
return [res, obj.member]
未优化为:
def dummy(obj):
mb = obj.member
return [mb + mb ** 2, mb]
由于python不执行这个看起来可自动化但非平凡的简单工作,是否有工具可以做到这一点?