Mã này bên dưới các công trình đúng:hiểu lầm năng suất python
def file_gen(f_name):
f = open(f_name)
for line in f:
yield line
gen_line = file_gen("foo.html")
gen_line.next() # '<!DOCTYPE>\n'
gen_line.next() # '<html> \n'
gen_line.next() # ... next line in file
Nhưng chức năng này làm tăng StopIteration
. Tôi không hiểu tại sao?
def file_gen(f_name):
f = open(f_name)
line = f.readline()
yield line
gen_line = file_gen('foo.html')
gen_line.next() # '<!DOCTYPE>\n'
gen_line.next() # StopIteration
Bạn mong đợi điều gì sẽ xảy ra? – delnan
Lỗi thứ hai thực sự là lỗi cú pháp trong Python (bạn không thể thụt lề dòng 'yield') – 6502
@ 6502 xin lỗi, tôi đã chỉnh sửa –