逗号分隔时Python枚举的值错误

2024-07-03 06:41:28 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑下面的代码。 当类RottenFruit被逗号分隔时,python如何解释它?这合法吗?如果是,用例是什么?在

from enum import Enum
class Fruit(Enum):
     Apple = 4
     Orange = 5
     Pear = 6 
a = Fruit(5)

class RottenFruit(Enum):
     Apple = 4,
     Orange = 5,
     Pear = 6
print(Fruit(5))
print(RottenFruit(5))

输出:

^{pr2}$

Tags: 代码fromimportappleenum用例classpear
1条回答
网友
1楼 · 发布于 2024-07-03 06:41:28

您的第二个片段相当于:

class RottenFruit(Enum):
     Apple = (4,)
     Orange = (5,)
     Pear = 6

换句话说,Apple和{}都是长度为1的元组。在

让我加一个简短的解释。在这里,您将遇到两个Python特性的组合。一是你可以一次分配多个任务,比如:

^{pr2}$

另一个是Python的解析规则总是允许在列表中有一个尾随的逗号;这对于使跨越多行的列表看起来更干净一点非常有用,并且允许使用(1,)定义一个元素元组。你已经找到了一种将这些规则组合在一起的方法,这种方法并不真正有用,但也不值得阻止。在

相关问题 更多 >