Python如何打印Enum枚举值名称且不显示类名前缀
解决方法
你可以用两种方式实现需求:
方法1:直接调用枚举实例的name属性
这是最简单的临时获取枚举名称的方案,不需要修改枚举类定义,只要修改打印语句即可:
# 只需要在原来的枚举实例后加 .name 即可 print(StaticTileType(4).name)
运行后就会直接输出DOOR,name是Python枚举实例内置的属性,专门用于返回枚举项的名称字符串。
方法2:重写枚举类的__str__方法
如果你希望后续所有直接打印该枚举类实例的操作都默认只输出名称,不需要每次加.name,可以自定义枚举类的字符串转换逻辑:
from enum import Enum class StaticTileType(Enum): CHASM = 0 EMPTY = 1 GRASS = 2 EMPTY_WELL = 3 WALL = 4 DOOR = 5 # 自定义字符串返回规则 def __str__(self): return self.name # 此时直接打印就会输出 DOOR print(StaticTileType(4))
内容的提问来源于stack exchange,提问作者Serveira
相关产品推荐
相关产品推荐

