Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2009 00:19:36

pento
От:
Зарегистрирован: 2007-05-29
Сообщения: 100
Репутация: +  0  -
Профиль   Отправить e-mail  

Перечисления в Python?

Всем привет.

Есть метод класса, которому как параметр надо передавать режим его работы. Как например, режим открытия файла “rw” и т.п.
Всего сйчас 3 режима работы это класса и делаю простыми строками: “all”, “tb”, “tmb”.
Насколько это хорошее решение? Или помучаться с эмуляцией перечислений?



Офлайн

#2 Фев. 19, 2009 00:38:54

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Перечисления в Python?

Keep It Simple, Stupid.

Офлайн

#3 Фев. 19, 2009 00:40:36

pento
От:
Зарегистрирован: 2007-05-29
Сообщения: 100
Репутация: +  0  -
Профиль   Отправить e-mail  

Перечисления в Python?

Ferroman
Keep It Simple, Stupid.
Ну я как бы согласен с этим принципом :) То есть рекомендуете использовать строковые значения?



Офлайн

#4 Фев. 19, 2009 01:00:11

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Перечисления в Python?

Да

Офлайн

#5 Фев. 19, 2009 03:09:52

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Перечисления в Python?

Я по настроению делаю :-). Хотя чаще прописываю “константы” (в кавычках, потому что в Python нет констант, просто пишу имена ПРОПИСНЫМИ).
Это может выглядеть так: open('filename.ext', WRITE + BINARY)
Потом можно сделать WRITE и BINARY не строками, а объектами (не знаю зачем), потребуется еще и метод __add__ описать, хотя это не сложно. Совместимость сохранится, этот код переписывать не понадобится. А как реализован open не важно. В случае со строками он может использовать один механизм, а при переходе на объекты - другой.

..bw



Офлайн

#6 Сен. 10, 2009 19:58:29

Sergiusnick
От:
Зарегистрирован: 2009-03-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Перечисления в Python?

pento
Всем привет.

Есть метод класса, которому как параметр надо передавать режим его работы. Как например, режим открытия файла “rw” и т.п.
Всего сйчас 3 режима работы это класса и делаю простыми строками: “all”, “tb”, “tmb”.
Насколько это хорошее решение? Или помучаться с эмуляцией перечислений?
Хорошая ссылка: просто в использовании.
Единственным недостатком, пожалуй, является то, что нельзя присваивать значениям перечисления аналоги в виде целых числе (они присваиваются автоматически с использованием счетчика



Офлайн

#7 Сен. 10, 2009 21:10:51

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Перечисления в Python?

Я уже привык делать “константы”. Столько они мне времени сэкономили.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version