투케이2K

125. (python/파이썬) [Mac Os] : [문법] : yield 사용해 generator 제너레이터 iterator 함수 생성 본문

Python

125. (python/파이썬) [Mac Os] : [문법] : yield 사용해 generator 제너레이터 iterator 함수 생성

투케이2K 2024. 5. 16. 19:53

[개발 환경 설정]

개발 툴 : VsCode

개발 언어 : python

 

[소스 코드]

# --------------------------------------------------------------
# [import]
# --------------------------------------------------------------
# --------------------------------------------------------------




# --------------------------------------------------------------
# [요약 설명]
# --------------------------------------------------------------
# 1. 제너레이터 는 파이썬에서 이터레이터를 생성해주는 함수입니다
# --------------------------------------------------------------
# 2. 제너레이터 는 함수 안에서 yield 라는 키워드를 사용해 생성할 수 있습니다
# --------------------------------------------------------------
# 3. 제너레이터 특징 : 
# - iterable한 순서가 지정됨 (모든 generator는 iterator)
# - 함수의 내부 로컬 변수를 통해 내부상태가 유지됨
# - 무한한 순서가 있는 객체 모델링 수행
# --------------------------------------------------------------



# --------------------------------------------------------------
# [Generator 제너레이터 함수 생성]
# --------------------------------------------------------------
def number_generator():
    yield 0
    yield 1
    yield 2
    yield 3


# --------------------------------------------------------------
# [main start]
# --------------------------------------------------------------


# [for 문을 사용해 제너레이터로 지정 된 함수 number 값 확인]
for i in number_generator():
    print("number :: ", i)


# [next 방식 사용 number 값 확인]
# g = number_generator()
# g.__next__() # result : 0
# g.__next__() # result : 1
# g.__next__() # result : 2
# g.__next__() # result : 3
# g.__next__() # result : Traceback : StopIteration


# --------------------------------------------------------------
# [main end]
# --------------------------------------------------------------
 

[결과 출력]

 

 

반응형
Comments