答案页 · 12 道题

Python 枚举练习答案

本页汇总 Python 枚举 的 12 道练习。先做练习页,再回到这里核对准确答案和原因。

快速答案

本答案页包含 Python 枚举 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。

答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。

01 · 选择题

Color.RED 是什么?

  1. 一个字典
  2. 字符串 red
  3. 枚举成员正确答案
  4. 一个类

答案: 枚举成员

为什么: 枚举成员是唯一对象;字符串保存在 .value 中。

02 · 选择题

这段程序打印出什么?

from enum import Enum
class Color(Enum):
    RED = "red"
print(Color.RED.value)
  1. red正确答案
  2. None
  3. Color.RED
  4. RED

答案: red

为什么: value 属性返回底层字符串。

03 · 选择题

遍历 Enum 会产生什么?

  1. 只有名称
  2. 整数索引
  3. 只有值
  4. 它的成员正确答案

答案: 它的成员

为什么: 遍历会按定义顺序产生成员对象。

04 · 选择题

Color('green') 返回什么?

  1. Color.GREEN 成员正确答案
  2. 字符串 green
  3. 新的枚举类
  4. ValueError

答案: Color.GREEN 成员

为什么: 用值调用枚举会查找对应成员。

05 · 填空题

补全枚举的基类。

from enum import Enum
class Color(____):
    RED = "red"

答案: Enum

为什么: Enum 是命名成员的标准基类。

06 · 填空题

补全返回底层值的属性。

from enum import Enum
class Color(Enum):
    RED = "red"
print(Color.RED.____)

答案: value

为什么: 成员把赋给它的值保存在 .value 中。

07 · 填空题

补全返回成员名称的属性。

from enum import Enum
class Color(Enum):
    RED = "red"
print(Color.RED.____)

答案: name

为什么: 成员把标识符保存在 .name 中。

08 · 填空题

补全按名称查找的键。

from enum import Enum
class Color(Enum):
    RED = "red"
print(Color["____"])

答案: RED

为什么: 方括号按成员名称查找。

09 · 输出预测

代码的输出结果是什么?

from enum import Enum
class Color(Enum):
    RED = "red"
print(Color.RED.name)

答案: RED

为什么: name 属性是标识符 RED。

10 · 输出预测

屏幕上会显示什么?

from enum import Enum
class Color(Enum):
    RED = "red"
    GREEN = "green"
print(Color("green").value)

答案: green

为什么: 按值查找返回 GREEN,它的值是 green。

11 · 输出预测

这段代码会输出什么?

from enum import Enum
class Color(Enum):
    RED = "red"
    GREEN = "green"
print(len(list(Color)))

答案: 2

为什么: 枚举有两个成员,所以列表长度为二。

12 · 输出预测

运行结果是什么?

from enum import Enum
class Color(Enum):
    RED = "red"
print(Color.RED is Color.RED)

答案: True

为什么: 枚举成员是单例,所以身份比较为真。

先试一遍题目

打开 Python 枚举 练习页,用即时反馈回答同样的 12 道题。

练习本课