文章内容

2022/9/16 10:04:40,作 者: 黄兵

Python @unique 装饰器理解

Python 枚举(Enum)中 @unique 装饰器主要是:为了检查枚举中是否有重复值。

下面是一个示例:

from enum import Enum, unique
@unique
class UserStatus(Enum):
    active=1
    not_active=2
    na=1
print(UserStatus(1))

我们运行一下结果看看:

Traceback (most recent call last):
  File "E:\Python\Python37\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "input", line 2, in 
  File "E:\Python\Python37\lib\enum.py", line 869, in unique
    (enumeration, alias_details))
ValueError: duplicate values found in : na -> active

可疑看到出现了重复的错误提示。

这个可疑用在枚举内容比较多的时候,避免重复内容,加上这个装饰器,可以对值经行约束。


参考资料:

1、enum --- 对枚举的支持


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Python @unique 装饰器理解

分享到:

发表评论

评论列表