【问题标题】:python 'constants' and changing thempython 'constants' 并改变它们
【发布时间】:2013-11-22 00:33:27
【问题描述】:

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

# 串口读取权重的端口地址 PADDR = '/dev/ttyUSB0' # 套接字地址 uri、积压和缓冲区 SADDR = '本地主机:28000' 后退 = 0 增益 = 1024 # 为了跨平台兼容性,在 unix 时间使用 epoch EPOCH_START = 日期时间(1970, 1, 1)

不过,我可能会添加功能以通过解析参数来更改这些功能。所以问题是,我应该在解析参数时直接更改这些吗?

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

【问题讨论】:

  • 为什么不使用正确支持默认值的实际参数解析器?
  • 其实我才刚开始做。但也希望将常量保持在顶部,以使事情变得更容易。

标签: python constants pep


【解决方案1】:

DEFAULT_PADDR 设为常量;但paddr 作为变量,DEFAULT_PADDR 作为其默认值。不要更改“常量”,即使只是样式问题 - 您的代码会变得晦涩。

即现在,这样做:

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

那么你可以在添加参数解析时更改paddr

【讨论】:

  • 酷。我现在也这么想,但没想到我之前可以输入DEFAULT。我不想拥有PADDRpaddr :)
猜你喜欢
  • 2014-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
相关资源
最近更新 更多