У Python, чи існує якась різниця між створенням об'єкта генератора за допомогою виразу генератора та використанням оператора yield ?
Використовуючи врожайність :
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Використання виразу генератора :
def Generator(x, y):
return ((i, j) for i in xrange(x) for j in xrange(y))
Обидві функції повертають об'єкти генератора, які створюють кортежі, наприклад (0,0), (0,1) тощо.
Якісь переваги того чи іншого? Думки?
Дякую всім! У цих відповідях є багато чудової інформації та подальших посилань!