Trong Python, có sự khác biệt nào giữa việc tạo đối tượng trình tạo thông qua biểu thức trình tạo so với sử dụng câu lệnh lợi nhuận không?
Sử dụng năng suất :
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Sử dụng biểu thức trình tạo :
def Generator(x, y):
return ((i, j) for i in xrange(x) for j in xrange(y))
Cả hai hàm đều trả về các đối tượng của trình tạo, tạo ra các bộ giá trị, ví dụ (0,0), (0,1), v.v.
Bất kỳ lợi thế của cái này hay cái khác? Suy nghĩ?
Cảm ơn tất cả mọi người! Có rất nhiều thông tin tuyệt vời và tài liệu tham khảo thêm trong các câu trả lời này!