Возможно ли запустив скрипт не выполнять функции в значении ключей объекта?
Можно ли при запуске скрипта сделать так, чтобы функции в значении ключей не выполнялись? Код такой:
my_dict = {
'case_1': print(1),
'case_2': print(2)
}
Есть ли способ запустить такой файл без исполнения функции print? Хочу вызывать эти функции позже в данном файле вот так:
for i in range(len(my_dict)):
current_case = detect_case()
my_dict[current _case]
Заранее спасибо!
Ответы (1 шт):
Автор решения: Evrik
→ Ссылка
Можно использовать lambda-функции
my_dict = {
'case_1': lambda: print(1),
'case_2': lambda: print(2)
}
for i in range(len(my_dict)):
current_case = detect_case()
my_dict[current_case]()
Обратите внимание на скобки после выбора элемента словаря. Они необходимы для выполнения функции.