python'常数'并改变它们

时间:2013-11-22 00:33:27

标签: python constants pep

嗨,这更像是一个风格问题。我有一个小插件,可以使用套接字,我有常量(我知道它们不是真正的常量,但是heyy,至少它们是资本),它们声明了一些属性,

# Port address for the serial port to read the weight from
PADDR = '/dev/ttyUSB0'
# socket address uri, backlog, and buffer
SADDR = 'localhost:28000'
BACKLG = 0
BUFF = 1024
# for cross platform compatibility use epoch in unix time
EPOCH_START = datetime(1970, 1, 1)
但是,我可能会通过解析参数来添加更改这些功能。所以问题是,我应该在解析参数时直接更改这些吗?

或者我应该很好并使用上面的常量作为默认值并更改我将传递给需要它们的函数的选项?这似乎有点太多了,但话说回来,我不想编写令人不满的代码:)

1 个答案:

答案 0 :(得分:3)

DEFAULT_PADDR作为常量;但paddr为变量,DEFAULT_PADDR为默认值。不要改变“常数”,即使只是风格问题 - 你的代码变得神秘。

即。现在,这样做:

DEFAULT_PADDR = '/dev/ttyUSB0'
# ...
paddr = DEFAULT_PADDR

然后您可以在添加参数解析时更改paddr