Подтвердить что ты не робот

Эквивалент переименования Python

Возможный дубликат:
Что лучший способ реализовать & enquo; enum & rsquo; в Python?

Что такое идиома Python для списка индексированных имен с разными индексами (например, Enum в C/С++ или Java)?

Уточнение: я хочу, чтобы свойство значения устанавливалось в ограниченный диапазон, например, набор карт Heart, Club, Spade, Diamond. Я мог бы представить его с int в диапазоне 0..3, но он позволил бы вне диапазона ввода (например, 15).

4b9b3361

Ответ 1

class Suite(object): pass

class Heart(Suite): pass
class Club(Suite): pass

и др.

Класс в python - это объект. Таким образом, вы можете написать

x=Heart

и др.

Ответ 2

здесь очень популярный вопрос на fooobar.com/info/1004/...

Edit

class Suite(set):
    def __getattr__(self, name):
        if name in self:
            return name
        raise AttributeError

s1 = Suite(['Heart', 'Club', 'Spade', 'Diamond'])
s1.Heart