Я пишу код, который хотел бы упаковать в виде библиотеки.Он может быть вызван из пользовательского интерфейса или из другой библиотеки, и он не известен заранее.Какой механизм необходим для предоставления статуса или обратной связи вызывающему абоненту?
Моей первой мыслью был обратный вызов:
def callback(status):
print(status)
def do_stuff(some_objects, callback = None)
for something in some_objects:
status = stuff()
if callback:
callback(status)
Но, исходя из моего очень ограниченного опыта, я понимаю, что обычнотребуют знания структуры обратного вызова.Это обязанность нижней библиотеки для определения структуры функции обратного вызова?
Я привык просто передавать ссылки пользовательского интерфейса и тому подобное функциям более низкого уровня, которые, очевидно, тесно связывают этот код и не подходят длябиблиотека.
Примечание: мой предыдущий вопрос больше говорил о вложенных функциях и обратных вызовах.Я пытаюсь понять, какие есть варианты для определения поведения функций более низкого уровня, чтобы они могли передавать информацию обратно в функции более высокого уровня.Я в какой-то степени близок к нулю, поэтому мне нужно принять много решений, так как я считаю, что это может продолжаться долго.