


Смысл callback в python и его применение
Зачем нужна такая вещь как callback, это (как оно воглядит) - по сути одна и та же операция, только замудреная и непонятная, т. е непонятно, как функция переходит из одной в другую в качестве аргумента. И как вообще это все работает при том, что функция (в данном случае name вообще не задана)?
На первом фото без callback, все понятно - функция возвращаюя то, что введет пользователь, передается другой функции как аргумент, другая же функция использует, то что вводит пользователь
На втором фото вообще не хрена не понятно, как передается функция, почему без скобок, как вообще работает функция name(), если ее в коде нет.
Объясните пожалуйста кто сможет и приведите РЕАЛЬНЫЙ пример, где без callback не обойтись


К примеру, когда список у нас хранится не в памяти, а на диске, и со списком могут работать несколько процессов одновременно и необходимо решать проблемы синхронизации доступа к элементам (несколько процессов могут выполнять разные задачи — удаления некоторых элементов из списка, добавления новых, изменение существующих элементов в списке). Легче сделать Callback для обработки отдельного элемента списка., чем писать код для обхода всех элементов.
в реальности hi - это обычно какая-то библиотечная функция, код которой мы поменять не можем, но очень хотим, чтобы в какие-то конкретные моменты своего выполнения она давала поработать нашему коду, при этом, возможно, передав ему какую-то информацию
в качестве конкретного примера можно взять парсинг xml
берётся библиотека, библиотечными функциями устанавливается несколько колбеков (действие при закрывающем теге, при открывающем теге и т. д.), далее библиотеке скармливается текст XML
пока она его парсит, она в нужном порядке вызывает наши функции