您好,这更像是一个风格问题。我有一个与套接字一起使用的小脚本,并且我有声明一些属性的常量(我知道它们不是真正的常量,但是嘿,至少它们是大写的),
# 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)
然而,我可能会添加功能来通过解析参数来更改这些。所以问题是,我应该在解析参数时直接更改这些吗?
或者我应该很好地使用上述常量作为默认值并更改选项,然后将这些选项传递给需要它们的函数?这似乎有点过分,但话又说回来,我不想编写会让人皱眉的代码:)
最佳答案
将 DEFAULT_PADDR
作为常量;但是 paddr
作为一个变量,DEFAULT_PADDR
作为它的默认值。不要更改“常量”,即使这只是样式问题 - 您的代码会变得晦涩难懂。
即现在,这样做:
DEFAULT_PADDR = '/dev/ttyUSB0'
# ...
paddr = DEFAULT_PADDR
然后你可以在添加参数解析时更改paddr
。
关于python 'constants' 并更改它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134747/