Не может быть, чтобы возвращало None. Функция генератор возвращает генератор. Его можно раскрыть, его можно проитерировать.
Например код
def f():
for i in range(10):
yield i
возвратит генератор. И функция будет оставаться в стеке, пока ты не вызовешь StopIteration.
Еще вариант - использовать список с результатами, но я думаю, что вам нужен именно генератор