我正在使用python 2.7的Enum类的pypi enum34 backport。

考虑以下:

from enum import *

class ArtTools(Enum):
    pass

class Paintbrushes(ArtTools):
    four_inch_brush = 1
    two_inch_brush = 2
    fan_brush = 3
    paint_knife = 4

print type(Paintbrushes.fan_brush) # <enum 'Paintbrushes'>
assert isinstance(Paintbrushes.fan_brush, ArtTools)  # True/No Error

print type(Paintbrushes) # <class 'enum.EnumMeta'>
assert isinstance(Paintbrushes, ArtTools) # AssertionError


画笔不是ArtTools是否有原因?这似乎是一个错误。

最佳答案

Paintbrushes是类,不是实例,因此不会是ArtTools或任何其他类的实例。

关于python - Python 2.7 Backport:枚举类不是抽象枚举类的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45311039/

10-12 20:21