【发布时间】:2019-01-31 01:00:31
【问题描述】:
在 Python 中,有单前导下划线、双前导下划线、双前导 + 双尾下划线和单尾下划线的约定。其中许多都在 What is the meaning of a single- and a double-underscore before an object name? 的答案中进行了概述。
但是单前导+单尾下划线的含义或约定是什么?我第一次看到他们在enum module:
8.13.15.3.2。支持
_sunder_名称
_name_– 成员姓名_value_– 成员的值;可以在new中设置/修改_missing_– 找不到值时使用的查找函数;可能会被覆盖_ignore_– 名称列表,可以是 list() 或 str(),不会转换为成员,并将从最终类中删除_order_– 在 Python 2/3 代码中使用以确保成员顺序一致(类属性,在类创建期间删除)_generate_next_value_– 由功能 API 和自动使用来为枚举成员获取适当的值;可能会被覆盖
我以前从未见过这样的单前导单尾下划线 sunder 名称。它们是否以任何特殊方式处理,或者以其他方式具有与任何其他与下划线相关的命名约定不同的隐含含义?它们与根本没有下划线有何不同?
【问题讨论】:
标签: python enums naming-conventions underscores