python';常数';并改变它们

python';常数';并改变它们,python,constants,pep,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 c

嗨,这更像是一个风格问题。我有一个使用套接字的小脚本,我有一些常量(我知道它们不是真正的常量,但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) #用于读取重量的串行端口的端口地址 PADDR='/dev/ttyUSB0' #套接字地址uri、待办事项和缓冲区 SADDR='localhost:28000' BACKLG=0 BUFF=1024 #为了实现跨平台兼容性,请在unix时间内使用epoch EPOCH_START=datetime(1970,1,1) 不过,我可能会添加一些功能,通过解析参数来更改这些。所以问题是,我应该在解析参数时直接更改这些参数吗


或者我应该友好地使用上述常量作为默认值并更改选项,然后将这些选项传递给需要它们的函数吗?这似乎有点太多了,但我不想写那些会让人不快的代码:)

默认值作为常量;但是
paddr
作为变量,默认值为
DEFAULT\u paddr
。不要改变一个“常量”,即使它只是一个风格的问题——你的代码会变得晦涩难懂

即,目前,请执行以下操作:

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

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

为什么不使用正确支持默认值的实际参数解析器呢?我刚刚开始实际操作。但是我想把常数也保持在最上面,让事情变得更简单。我现在也这么想,但没有想到我可以把
DEFAULT
放在前面。我不想有
PADDR
PADDR
:)