繁体   English   中英

如何以与 name 属性相同的方式打印组合标志

[英]How to print combined Flag in the same way as name property

在 Python 中,您可以使用 Flag 类来表示值的组合。

class Color(Flag):
    Red = auto()
    Green = auto()
    Blue = auto()
    White = Red | Green | Blue

这些隐式转换为字符串,以便您可以打印它们。

>>> print(Color.Red, Color.White, Color.Red|Color.Green)
Color.Red Color.White Color.Green|Red

name属性为您提供了更好的打印方式,但它不适用于未命名的组合值。

>>> print(Color.Red.name, Color.White.name, (Color.Red|Color.Green).name)
Red White None

有没有办法让一个组合的 Flag 值以类似于name方式打印,而无需编写单独的函数?

例如

Color.Red | Color.Green  =>  Red Green

抱歉不行。 但这听起来像是一个很好的增强请求

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM