为什么在Python中,将模块级代码放入函数中,然后调用函数会更快?

2024-05-19 03:03:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在alexmartelli对Making a Python script Object-Oriented的回应中,他提到在Python中,将模块级代码放入函数中然后调用该函数的速度更快。有人能解释一下为什么以及它是否适用于所有的Python实现?在


Tags: 模块函数代码objectscript速度orientedmaking
1条回答
网友
1楼 · 发布于 2024-05-19 03:03:06

这主要是由于变量查找。在全局范围内查找变量需要字典查找。相反,编译器静态地确定本地名称并通过索引引用它们,因此不需要字典查找。在

请注意,在Python2.x中,函数中出现exec语句将使这种优化失效,因为名称不能再静态地确定了。在python3.x中,exec()是一个常规函数,因此不允许在局部范围内更改变量。在

相关问题 更多 >

    热门问题