Не понимаю выражение return cb(0) if cb else 0

def zero(cb=None): return cb(0) if cb else 0

Есть функции, в них есть cb(0) Что делает эта конструкция , конкретно cb(0). Это присваивание или что? Не могу найти информацию, помогите пожалуйста.


Ответы (1 шт):

Автор решения: nomnoms12
def zero(cb=None): return cb(0) if cb else 0

Данная функция принимает один необязательный именованный аргумент cb (со стандартным значением None).

Если аргумент cb будет передан, то условие if cb станет истинно, вследствие чего функция zero вернёт результат вызова cb(0).

То есть, в функцию можно передать (а далее вызвать) и другую функцию.

→ Ссылка