вычислений выдается значение из словаря. Я обычно делал так:
class MyClass:
MY_DICT = {'ab': 123, 'cd': 456}
def get_something(self, arg):
...
x = ...
return self.MY_DICT[x]
Ибо такой подход считал правильным, т.к. в данном случае нужен один и тот же словарь для всех инстансов этого класса. Но все чаще вижу такое:
class MyClass:
def get_something(self, arg):
...
x = ...
return {'ab': 123, 'cd': 456}[x]
Т.е. словарь конструируется каждый раз при вызове метода. Вроде выглядит лучше. Какой способ более подходящий и почему?
Все сильно зависит от контекста. Второй вариант записи часто используют для реализации switch/case
Обсуждают сегодня