Найти - Пользователи
Полная версия: Перечисления в Python?
Начало » Python для новичков » Перечисления в Python?
1
pento
Всем привет.

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

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

Есть метод класса, которому как параметр надо передавать режим его работы. Как например, режим открытия файла “rw” и т.п.
Всего сйчас 3 режима работы это класса и делаю простыми строками: “all”, “tb”, “tmb”.
Насколько это хорошее решение? Или помучаться с эмуляцией перечислений?
Хорошая ссылка: просто в использовании.
Единственным недостатком, пожалуй, является то, что нельзя присваивать значениям перечисления аналоги в виде целых числе (они присваиваются автоматически с использованием счетчика
Griffon
Я уже привык делать “константы”. Столько они мне времени сэкономили.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB