相关疑难解决方法(0)

什么时候应该继承EnumMeta而不是Enum?

本文中, Nick Coghlan讨论了PEP 435 Enum类型的一些设计决策,以及如何EnumMeta进行子类化以提供不同的Enum体验。

但是,我给出的建议(我是stdlib的主要Enum作者)关于使用元类的建议是,在没有充分好的理由的情况下不应该这样做-例如,无法使用类装饰器或专用工具来完成所需的工作隐藏任何丑陋的功能;而在我自己的工作,我已经能够做到我需要什么简单的使用__new____init__在创建时,和/或正常类/实例方法Enum类:

然后是一个警告性的故事,在研究Enum,有和没有元类子类化时要小心:

考虑到所有这些,我什么时候需要摆弄EnumMeta自己?

python enums metaclass

7
推荐指数
1
解决办法
1960
查看次数

如何迭代 Python 枚举而忽略“已弃用”的枚举?

如果我有一个像这样设置的枚举类


class fruits(enum.IntEnum):
    apples = 0
    bananas = 1  # deprecated
    pears = 2  # deprecated
    strawberries = 3
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以动态获取未弃用的枚举(基本上只获取苹果和草莓?它们仅通过注释进行标记,我不喜欢创建一组“已弃用”通知

python enums python-3.x

1
推荐指数
1
解决办法
698
查看次数

标签 统计

enums ×2

python ×2

metaclass ×1

python-3.x ×1