【问题标题】:Where does the variable "name" come from?变量“名称”从何而来?
【发布时间】:2020-06-30 02:37:33
【问题描述】:
示例代码:
from enum import Enum
class Countries(Enum):
Afghanistan = 44
Andorra=88
Austrailia=38
print(Countries.Afghanistan.name)
输出:阿富汗
问题:变量“name”在哪里定义?我在 Enum 的源代码中找不到,反正很复杂。
【问题讨论】:
标签:
python-3.x
class
inheritance
【解决方案1】:
EnumMeta 将使用在 self._member_names 中找到的名称作为枚举成员名称。这个定义的值可以在 enum.py 的第 170 行找到。
但我可能是错的......
【解决方案2】:
Enum 是 python 中用于创建枚举的类,它是一组符号名称(成员),绑定到唯一的常量值。枚举的成员可以通过这些符号来比较,并且枚举本身可以被迭代。枚举具有以下特征。
- 枚举也是对象的可评估字符串表示
调用 repr()。
- 枚举的名称使用“name”关键字显示。
- 使用 type() 我们可以检查枚举类型。
希望对你有帮助。