Reputation: 99
In Swift Enums have something called an Associated Value. Consider the following:
enum Shape {
case circle(radius: Double)
case rectangle(x: Double, y: Double)
}
In this case the Enums' Associated Values are radius
and x
& y
and can be individually set for each instantiation of that Enum. E.g. I could do
smallCircle = Shape.circle(radius: 12)
largeCircle = Shape.circle(radius: 36)
Is there something similar for the Python Enum
? I tried around myself but without much success. It seems like whatever attribute I set will always be the same for all instantiations of that Enum - i.e. in above example the second line equivalent in Python would have set the radius to 36 on both smallCircle
and largeCircle
. Any ideas?
Upvotes: 5
Views: 783
Reputation: 49
In Python, the value associated with the symbolic names of Enums can be of any type. Python Enum Documentation
Unlike Swift, from the Python documentation, the members of a Python Enum are functionally constant
So, the answer to your question is no.
Upvotes: 4