Здравствуйте, alzt, Вы писали:
A>Привет всем.
A>Какая конструкция языка Python более всего подходит для замены перечислений? A>Т.е. хотелось бы, что-то вроде A>
A>enum Colors {cRed, cBlue, cGreen};
A>enum Shapes {sRound, sLine};
A>
A>чтобы Colors и Shapes были разными типами.
A>Есть ли какие варианты лучше следующего A>
A>>чтобы Colors и Shapes были разными типами. T>А как ты собираешся использовать в python-е то, что типы разные? T>Напямую проверять?
Сейчас пытаюсь программировать на питоне, стиль мышления остался прежний.
Заметил, что сильно не хватает перечислений. Возможно в питоне они и не нужны — вместо них используются другие конструкции языка.
Насчёт разных типов — не хотелось бы, чтобы переменной типа Colors можно было присвоить значение sLine.
Сами перечисления мне не столь важны — подойдёт любая другая конструкция с подобной функциональностью (т.е. определять некоторый тип объекта).
alzt пишет: > Какая конструкция языка Python более всего подходит для замены перечислений? > Т.е. хотелось бы, что-то вроде > > enum Colors {cRed, cBlue, cGreen}; > enum Shapes {sRound, sLine};
Да просто два списка атомов.
Но чтобы они были бы разными типами — этого вряд ли можно добиться.
Здравствуйте, alzt, Вы писали: A>Сейчас пытаюсь программировать на питоне, стиль мышления остался прежний.
Меняй столь мышления.
A>Насчёт разных типов — не хотелось бы, чтобы переменной типа Colors можно было присвоить значение sLine.
Этого в языке просто нет.
Можно вывернутся, и реализовать свойства с проверкой типов для членов класса...
Но обычной переменной всё равно в любое время можно присвоить любое значение.
A>Сами перечисления мне не столь важны — подойдёт любая другая конструкция с подобной функциональностью (т.е. определять некоторый тип объекта).
С именем в python-е тип не связывается.
Здравствуйте, GonzoVas, Вы писали:
A>>Есть ли какие варианты лучше следующего A>>
A>>(Red, Blue, Green) = range(3)
A>>
A>>?
GV>На pypi есть два варианта enum'ов.
А что такое pypi?
Как уже посоветовали — надо менять стиль мышления\программирования. Видимо не зря перечисления не являются стандартным типом в Питоне.