在 Python 中,有单前导下划线、双前导下划线、双前导 + 双尾下划线和单尾下划线的约定。其中许多在对象名称前的单下划线和双下划线的含义是什么中的答案中进行了概述?.
但是单前导+单尾下划线的含义或约定是什么?我第一次看到它们在enum
模块中的使用:
8.13.15.3.2。支持的
_sunder_
名称
_name_
– 成员姓名_value_
– 成员的价值;可以在new中设置/修改_missing_
– 未找到值时使用的查找函数;可能会被覆盖_ignore_
– 名称列表,作为 list() 或 str(),不会转换为成员,并将从最终类中删除_order_
– 在 Python 2/3 代码中使用以确保成员顺序一致(类属性,在类创建期间删除)_generate_next_value_
– 由 Functional API 和 auto 用于获取枚举成员的适当值;可能会被覆盖
我以前从未见过这样的单前导单尾下划线拆分名称。它们是否以任何特殊方式处理,或者以其他方式具有与任何其他与下划线相关的命名约定不同的隐含含义?它们与根本没有下划线有什么不同?