以下是我目前的文件:
main.py
functions.py
constants.py
我正在使用python中的一个项目,它需要一些常量,我决定将它们存放在一个名为constants.py
的python文件中,它看起来像:
A = 5
B = 6
C = 7
# etc.
此文件均作为模块导入functions.py
和main.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
答案 0 :(得分:1)
不考虑这些不是常量这一事实,当你试图改变文件中的值时,你可能会改变错误的东西。使用import constants
并始终引用constants.A
,对constants.A
的更改将在任何地方反映出来。不要执行from constants import A
而不执行A = constants.A; A = 10
并期望将A
更改为10处。而是constants.A = 10
。