发布时间:2022-05-14 文章分类:Python 知识 投稿人:王小丽 字号: 默认 | | 超大 打印

python常量折叠是什么

1、概念

所谓常量折叠,指的是在编译时就查找并计算常量表达式,而不是在运行时再对其进行计算,从而会使运行时更加精简和快速。

2、实例

在 Python 中,我们可以使用反汇编模块(Disassembler)获取 CPython 字节码,从而更好地了解代码执行的过程。

当使用dis模块反汇编上述常量表达式时,我们会得到以下字节码:

>>>importdis
>>>dis.dis("day_sec=24*60*60")

0LOAD_CONST0(86400)
2STORE_NAME0(day_sec)
4LOAD_CONST1(None)
6RETURN_VALUE

从字节码中可以看出,它只有一个LOAD_CONST ,以及一个已经计算好的值86400。

这表明 CPython 解释器在解析和构建抽象语法树期间,会折叠常量表达式 24 * 60 * 60,并将其替换为计算值 86400。