pento
Фев. 19, 2009 00:19:36
Всем привет.
Есть метод класса, которому как параметр надо передавать режим его работы. Как например, режим открытия файла “rw” и т.п.
Всего сйчас 3 режима работы это класса и делаю простыми строками: “all”, “tb”, “tmb”.
Насколько это хорошее решение? Или помучаться с
эмуляцией перечислений?
pento
Фев. 19, 2009 00:40:36
Ferroman
Keep It Simple, Stupid.
Ну я как бы согласен с этим принципом :) То есть рекомендуете использовать строковые значения?
bw
Фев. 19, 2009 03:09:52
Я по настроению делаю :-). Хотя чаще прописываю “константы” (в кавычках, потому что в Python нет констант, просто пишу имена ПРОПИСНЫМИ).
Это может выглядеть так: open('filename.ext', WRITE + BINARY)
Потом можно сделать WRITE и BINARY не строками, а объектами (не знаю зачем), потребуется еще и метод __add__ описать, хотя это не сложно. Совместимость сохранится, этот код переписывать не понадобится. А как реализован open не важно. В случае со строками он может использовать один механизм, а при переходе на объекты - другой.
..bw
Sergiusnick
Сен. 10, 2009 19:58:29
pento
Всем привет.
Есть метод класса, которому как параметр надо передавать режим его работы. Как например, режим открытия файла “rw” и т.п.
Всего сйчас 3 режима работы это класса и делаю простыми строками: “all”, “tb”, “tmb”.
Насколько это хорошее решение? Или помучаться с эмуляцией перечислений?
Хорошая ссылка: просто в использовании.
Единственным недостатком, пожалуй, является то, что нельзя присваивать значениям перечисления аналоги в виде целых числе (они присваиваются автоматически с использованием счетчика
Griffon
Сен. 10, 2009 21:10:51
Я уже привык делать “константы”. Столько они мне времени сэкономили.