Computer Programming/AI

TIL_Generator란?

JYCoder 2023. 11. 16. 12:54

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