Задать вопрос
@linawhite

Объясните как работает этот код, я не понимаю эти манипуляции со скобочками?

def f():
    def a():
        def b():
            print("nested function")
        return b
    return a

f()()()

613a204a337b8658676486.png
  • Вопрос задан
  • 253 просмотра
Подписаться 2 Простой 2 комментария
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Как комментарий ко всем ответам:
Надо различать объект функции и вызов результата вычисления функции.
Объект - это f
Вызов результата - это f()
На этом и основан фокус.
f() превращается в a
a() превращается в b
b() превращается в print("nested function")
Оно печатает строку.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Sergomen
@Sergomen
Просто делай добро и оно вернётся
613a23769c3ee335016512.png
Хз как это называется но тут каждая скобка отвечает за каждую внутренную функцию в том порядке в каком они объявлены.
Ответ написан
Комментировать
Recosh
@Recosh
Программист студент
В коде описание функции в функции... Это как пемененая в переменной, только эта функция. В итоге возвращение функций без их выполенния.
А потом скообочками вызывают их выполнение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 00:16
43000 руб./за проект
30 янв. 2025, в 21:33
5000 руб./за проект
30 янв. 2025, в 21:14
4000 руб./за проект