
Generator 클래스의 getReturn 메서드는 Generator 객체가 완료되었을 때만 결과를 반환하고, Generator 객체가 아직 완료되지 않았을 때는 StopIteration 예외를 발생시킵니다.
이러한 이유는 Generator 객체가 아직 완료되지 않았을 때, getReturn 메서드는 Generator 객체가 완료될 때까지 기다리기 때문에, Generator 객체가 완료되지 않았을 때 예외를 발생시키는 것입니다.
Generator 객체의 결과를 반환하기 위해서는, Generator 객체를 완료시키고, getReturn 메서드를 호출하는 것이 일반적입니다. 예를 들어, 다음과 같이 Generator 객체를 완료시키고, getReturn 메서드를 호출할 수 있습니다.
#hostingforum.kr
python
def generator_function():
yield 1
yield 2
yield 3
gen = generator_function()
print(gen.getReturn()) # StopIteration 예외가 발생합니다.
위의 예제에서, Generator 객체를 완료시키기 위해, Generator 객체를 반복적으로 호출할 수 있습니다.
#hostingforum.kr
python
def generator_function():
yield 1
yield 2
yield 3
gen = generator_function()
for _ in gen:
pass
print(gen.getReturn()) # 3이 반환됩니다.
또는, Generator 객체를 완료시키기 위해, next() 함수를 호출할 수 있습니다.
#hostingforum.kr
python
def generator_function():
yield 1
yield 2
yield 3
gen = generator_function()
next(gen) # 1이 반환됩니다.
next(gen) # 2가 반환됩니다.
next(gen) # 3이 반환됩니다.
print(gen.getReturn()) # 3이 반환됩니다.
2025-04-25 10:05