Ինչպե՞ս սահմանել ատրիբուտ Python 3 enum դասում, որը enum արժեք ՉԷ:
class Color(Enum):
red = 0
blue = 1
violet = 2
foo = 'this is a regular attribute'
bar = 55 # this is also a regular attribute
Բայց սա ինձ համար կարծես թե ձախողվում է: Թվում է, որ Color-ը փորձում է ներառել foo-ն և bar-ը որպես իր enum արժեքների մաս:
ԽՄԲԱԳՐԵԼ. Որպեսզի չմտածեք, որ ես չեմ օգտագործում Enum-ը այնպես, ինչպես նախատեսված է... Օրինակ, վերցրեք պաշտոնական Python փաստաթղթերի Enum դասի Planet-ի օրինակը (docs.python.org/3/library/enum.html#planet): Նկատի ունեցեք, որ նրանք սահմանում են գրավիտացիոն G հաստատունը surface_gravity() մեթոդով: Բայց սա տարօրինակ կոդ է: Նորմալ ծրագրավորողը կասեր՝ մի անգամ դրեք այդ G հաստատունը՝ ֆունկցիայից դուրս։ Բայց եթե ես փորձեմ G-ն դուրս բերել (բայց ոչ գլոբալ, պարզապես դասի շրջանակ), ապա ես բախվում եմ այն խնդրին, որի մասին հարցնում եմ այստեղ: