0
그래서 최근에 우리는 강의 발전기를 통해 갔다, 이것은 선생님의 예입니다 : 우리가발전기 내부의 for 루프?
a = primes(10)
print(next(a) --> 2
print(next(a) --> 3
...
그래서 발전기의이 특별한 예는 while
루프를 사용하고 실행 실행하면
from predicate import is_prime
def primes(max = None):
p = 2
while max == None or p <= max:
if is_prime(p):
yield p
p += 1
함수를 기반으로하지만, 발전기도 for
루프 수 있습니까? Like say
for i in range(2, max+1):
# ...
이 두 가지는 비슷하게 작동합니까? 발전기에 대한 특별
예. 왜 그럴까? –
@ColonelThirtyTwo 강의에서 선생님은 발전기를 사용하는 가장 일반적인 방법 중 하나가 for 루프에 있다고 말했고 'while 루프는 더 큰 기능으로 두 개를 혼동하지 않도록 사용해야합니다. – Tyler
@ 타일러 : 아마 당신이 잘못 이해 했나요? 여기서 while 루프는 생성자를 무한하게 허용하기 위해 사용되며 사물을 구별하지 않습니다. –