python 'constants' 并更改它们

标签 python constants pep

您好,这更像是一个风格问题。我有一个与套接字一起使用的小脚本,并且我有声明一些属性的常量(我知道它们不是真正的常量,但是嘿,至少它们是大写的),

# 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/

相关文章:

python - Pandas - 如何在一行中合并 2 个相关事件

python - 覆盖 python-social-auth 内置 url?

c++ - 数据访问器类型的常量正确性 - 更好的解决方案?

c - C 中 const 限定函数的行为

c++ - 为什么静态成员函数不能有 cv 限定符?

python - python多行[for in]语句的正确格式

python - 为什么 sqlite3 仍然使用 __conform__?

python - 如何在python中的字典中获取键的位置

python - 在 Windows 上使用命令 "sudo apt-get install openblas-dev"?

python - 做Python喜欢 Camel