Есть два ключевых момента, которые помогут вам понять, что здесь происходит.
Во-первых, в python практически все является объектом. Четные функции
"Вызываемый объект - это объект, который может принимать некоторые аргументы (также называемые параметрами) и, возможно, возвращать объект (часто кортеж, содержащий несколько объектов).
Функция - это самый простой вызываемый объект в Python, но есть и другие, такие как классы или определенные экземпляры классов. «
Остальное - просто базовая обработка параметров / аргументов, которую выполняют функции.
def add_two(b):
return b + 2
add_two(7)
a = 3
add_two(a)
Здесь b назначается объект 7 при вызове функции, и это то же самое, что b = 7. Когда мы вместо этого передаем a внутренне, то же самое происходит снова. b = a, который связывает b с объектом (значения 3. помните грубое правило, все является объектом), на который ссылался a. То же самое происходит, когда вы передаете функцию object .
Надеюсь, это поможет.