Generator은 python에서 반복 가능한 객체(iterator)를 생성하는 함수이다.
일반 함수와 비슷하지만, 'return' 대신 'yield'를 사용하여 값을 생성하고 호출자에게 반환한다.
def my_generator():
yield 1
yield 2
yield 3
gen = my_generator()
for value in gen:
print(value)
위의 Generator 함수 예제를 보면, my_generator 함수가 호출을 통해 Generator 객체를 반환하고, yield를 통해 값을 반환하고 호출자에게 제어를 양도한다. 그리고 for loop을 통해 Generator에서 값을 하나씩 가져와 출력할 수 있다.
Generator 사용의 장점
- 메모리 효율성: 여러 값을 한 번에 메모리에 저장하지 않고, 필요한 시점에 값을 생성하여 메모리를 효율적을 사용
- 지연 평가(Lazy Evaluation): 필요한 시점에 값을 생성하여 불필요한 계산을 피하고 성능을 향상
즉, Generator를 사용하면 메모리를 효율적으로 사용하여 프로그래밍의 성능을 향상시킬 수 있다.
LIST
'Computer Programming > AI' 카테고리의 다른 글
TIL_Decorator in Python (1) | 2023.11.21 |
---|---|
TIL_When to use Redis? (1) | 2023.11.20 |
TIL_Closure란? (1) | 2023.11.16 |
TIL_정적 타입(Static Typing)과 동적 타입(Dynamic Typing) (0) | 2023.11.16 |
TIL_Interpreter와 Compiler란? (0) | 2023.11.10 |