gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 22:27:42 24 4
gpt4 key购买 nike

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

最佳答案

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

请注意,在 Python 2.x 中,函数内存在 exec 语句将停用此优化,因为名称无法再静态确定。在 Python 3.x 中,exec() 是一个常规函数,因此不允许更改局部范围内的变量。

关于python - 为什么将模块级代码放入一个函数中,然后在 Python 中调用该函数会更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8053608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com