Форум сайта python.su
Да, в Питоне почти ни бум-бум.
Экспериментирую со скриптами для Блендера
Встретил такое:
map((function1, function2)[getattr(self, "enable_z")], elements_list)
(function1, function2)[getattr(self, "enable_z")]
Отредактировано RADIOFARO (Март 9, 2017 18:09:30)
Офлайн
RADIOFAROЭто старый-старый трюк
getattr получит значение булевого параметра
function2 if getattr(self, "enable_z") else function1
Офлайн
Спасибо, FishHook.
Было у меня так написано.
if self.enable_z: list( map(function2, elements_list)) else: list( map(function1, elements_list))
Отредактировано RADIOFARO (Март 9, 2017 19:08:59)
Офлайн
RADIOFAROАвтор решил сократить код, в результате нарушил читаемость. Он плохо написал, поэтому ты не понимаешь. Это и есть говнокод - когда работает всё правильно, но в коде надо разбираться часами.
В нем первый аргумент должна быть функция.
Вот и не понимаю этот аргумент.
Офлайн