Пифонический способ выбора из 2-3 опций в качестве аргумента функции

У меня есть функция Python, которая требует ряда параметров, один из которых является типом симуляции для Например, можно выбрать один из вариантов: «солнечный», «вид» или «оба».

Каким способом Pythonic разрешает пользователю устанавливать их?

Я вижу различные варианты:

  1. Используйте строковую переменную и проверьте ее - так что это будет func (a, b, c , type = 'solar')

  2. Задайте некоторые константы в классе и используйте func (a, b, c, type = classname.SOLAR)

  3. Если есть только два варианта (как есть для некоторых из моих функций) превратить его в аргумент True / False, используя что-то вроде func (a, b, c, do_solar = False) , чтобы заставить его использовать опцию 'view'.

Есть ли какие-нибудь предпочтения (или другие идеи) для Pythonic способов сделать это?

12
задан robintw 1 March 2012 в 19:45
поделиться