Önceden tanımlanmış tek karakter sabitlerine (veritabanında saklamak için iyi) ve dize yorumuna sahip bir enum istiyorum. oPython 2: Bir dizeyi dize yorumlarıyla yapmanın en zarif/pythonik yolu nedir?
Nasıl yapmak yapmanın daha şık bir yolu olmalı
class Fruits(Enum):
APPLE = 'A'
PEAR = 'P'
BANANA = 'B'
def __unicode__(self):
if self == APPLE: return "Crunchy Apple"
if self == PEAR: return "Sweet Pear"
if self == BANANA: return "Long Banana"
Ama
fruit = Fruits.APPLE
print fruit.__unicode__()
AttributeError: 'unicode' object has no attribute '__unicode__'
Ve üstelik
verir: İşte düşünüyorum budur daha iyi?
Python2'yi kullanıyor görünüyorsunuz. Python2 veya Python3'ü kullanıp kullanmadığınızı onaylayabilir misiniz? (Emin olmak için sys.version’i inceleyebilirsiniz).) –
Fruits.TYPE_APPLE işlevi nereden geldi? Sadece 'Fruits.APPLE' öğesini tanımladınız. Sorudaki kodu bellekten yeniden yazdıysanız, gerçekte çalıştığınız bir dosyadan kopyalayıp yapıştırın veya bir dahaki sefere gerçek bir etkileşimli oturum açın. – user2357112
@Rob Python 2 ile daha çok ilgileniyorum – Digital