小编vel*_*hin的帖子

什么是字典dict键常量的Python最佳实践?

在Python中使用字典(dict)键时,似乎有一些通用的方法:

  1. some_dict['key_name'] # string constants everywhere

  2. some_dict[KeyConstants.key_name] # where class KeyConstants: key_name: 'key_name'

  3. some_dict[KEY_NAME] # with from some_module import KEY_NAME # a module level constant

    1. 'key_name'的缺点是你在整个代码中重复常量.这不是干的.更糟糕的是,如果您要发布您的API(从最广泛的意义上说),您将让API的消费者在任何地方重复这些常量,如果您想要将'key_name'更改为'better_key_name',那将是一个重大变化.

    2. 这是键入的语言DRY方法,常量合并在一个地方.它唯一的缺点是它丑陋,可读性稍差,而且更冗长.Pythonic原则主要禁止这样做.它允许您轻松更改表示键的常量,因为每个人都在对变量KeyConstants.key_name进行编码.它也适用于IDE进行重构.

    3. PEP 8样式指南中建议使用模块级常量.ALL_CAPS_ARE_LOUD并且难以输入.这具有选项1和2的一些优点.

dict键常量有哪些其他最佳实践?以上哪种方法是首选的,何时?

python coding-style

16
推荐指数
1
解决办法
7379
查看次数

标签 统计

coding-style ×1

python ×1