#def func(param):
# if param < 0:
# return "test"
# i = 0
# while i < param:
# yield i
# i += 1
def func(param):
if param < 0:
return "test"
def gen(n):
i = 0
while i < param:
yield i
i += 1
return gen(param)
print(func(-1))
print(func(3))
g = func(3)
for i in range(0, 3):
print(next(g))
파이썬 인터프리터가 주석 처리 된 코드를 암시 적으로 실제 코드로 변환 할 수없는 이유가 있습니까? 이것은 이것이 허용되어야하는 것처럼 보이지만, 나는 그들이 반향을 일으키도록 선택하게 만든 반향이 있는지 궁금합니다.파이썬 인터프리터가 암시 적으로 생성기를 생성하지 않는 이유는 무엇입니까?
나는 그 기능이 들어간 줄 알았지 만, 처음부터 다시 소스를 찾을 수 없었습니다. 읽었을 때, 테스트 할 Python 3 설치가 없습니다. PEP 또는 변경 사항을 문서화 한 것에 대한 링크가 있습니까? – user2357112
[PEP380] (http : //www.python.org/dev/peps/pep-0380 /). 당신은 규칙을 볼 수 있습니다. @ user2357112 – zhangyangyu
기술적으로, 파이썬 2.x의 생성자에서'return'을 사용할 수 있습니다. 단지 값을 반환 할 수 없습니다. 'StopIteration'을 발생시키는 것과 같습니다. – Amber