Why is putting the module level code into a function and then calling the function is faster in Python?
在Alex Martelli对使Python脚本面向对象的响应中,他提到在Python中将模块级代码放入函数,然后调用函数更快。有人能解释为什么以及它是否适用于所有的Python实现吗?
这主要是由于变量查找。在全局范围内查找变量需要字典查找。相反,编译器静态地确定本地名称并通过索引引用它们,因此不需要查找字典。
请注意,在python 2.x中,函数中存在