使用常量的最佳和最快的方法

时间:2018-04-06 10:26:41

标签: python optimization constants

以下是我目前的文件:

main.py
functions.py
constants.py

我正在使用python中的一个项目,它需要一些常量,我决定将它们存放在一个名为constants.py的python文件中,它看起来像:

A = 5
B = 6
C = 7
# etc.

此文件均作为模块导入functions.pymain.py 但是我想添加一些脚本并在main.py中使用参数作为示例来更改这些常量,但是如果我在main.py中更改这些常量,则它们在使用它的functions.py中无论如何都不会更改很多 我还没有找到解决这个问题的方法,所以我使用的是字典,但字典需要3倍的时间来访问变量,即:

timeit.timeit(stmt='b = a[5]; b = 0', setup="a = {5:5}", number=5000)
# 0.000302988540795468
timeit.timeit(stmt='b = a; b = 0', setup="a = 5", number=5000)
# 0.00013507954133143288

1 个答案:

答案 0 :(得分:1)

不考虑这些不是常量这一事实,当你试图改变文件中的值时,你可能会改变错误的东西。使用import constants并始终引用constants.A,对constants.A的更改将在任何地方反映出来。不要执行from constants import A而不执行A = constants.A; A = 10并期望将A更改为10处。而是constants.A = 10