解决方案:Python 在设置时计算变量的值,而变量只是一个指针。我会说第一个选项更清楚,因为运行时的唯一区别是 Python 需要多长时间才能将值转换为二进制存储 - 最小。
我感谢所有回复的人。
在正在编写的模块中,我需要为简单的开/关开关定义大量常量。这显然很容易作为二进制字符串完成,但是当我定义 constnts 时,下面的哪个方法对运行时速度和运行时内存使用的影响较小。
一:
THIS_VAR_0 = 2**0
THIS_VAR_1 = 2**1
.
.
.
This_Var_N = 2**N
或者,两个:
THIS_VAR_0 = 0
THIS_VAR_1 = 1
.
.
.
This_Var_N = 536870912 # 2**30
编辑:他们不需要计算不止一次。虽然 python 可能没有本机只读常量,但我正在编写这部分代码以使用这些类似常量。wx.ID_ANY
(与, 和wx.DEFAULT_FRAME
类型的想法相同)
另一种说法是:是在第一次遇到(设置)变量时完成计算,然后是用于查找的指针,还是指向公式的指针,并且在每次遇到变量时计算公式?
注意:我需要基于 Python 2.7 的此信息,但对于 Python 3.X 的响应(如果不相同)也将不胜感激。如果您的回答仅适用于 2 或 3,请这样说。(我还没有深入研究 3,但计划好了,所以未来的使用知识也很好 ;-)