Функция минимизации Scipy (просто для примера) имеет возможность добавления функции обратного вызова на каждом шаге. Поэтому я могу сделать что-то вроде
def my_callback(x):
print x
scipy.optimize.fmin(func, x0, callback=my_callback)
Есть ли способ использовать функцию обратного вызова для создания версии генератора fmin, чтобы я мог сделать,
for x in my_fmin(func,x0):
print x
Кажется, что это возможно с некоторой комбинацией yield и send, но я вполне могу придумать что угодно