Có thể chấp nhận/Pythonic sử dụng một phương thức trong một lớp làm máy phát không? Tất cả các ví dụ tôi đã tìm thấy hiển thị tuyên bố lợi nhuận trong một hàm, không phải trong một lớp.Phương pháp trong lớp có thể là máy phát không?
Đây là một mã làm việc Ví dụ:
class SomeClass(object):
def first_ten(self):
for i in range(10):
yield i
def test(self):
for i in self.first_ten():
print i
SomeClass().test()
Tôi đoán rằng hầu hết các ví dụ đều có chức năng vì nó đơn giản hơn; bạn không cần phải ở trong một lớp học, vì vậy nó không được hiển thị. – jonrsharpe