Notice
Recent Posts
Recent Comments
Link
160x600
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 정확도
- 머신러닝
- 데이터 수집
- SQL예제
- Oracle
- 딥러닝
- Deep Learning
- pandas
- 데이터
- sklearn
- 오라클
- 데이터전처리
- sql
- pythone
- 회귀모델
- 훈련
- Database
- 데이터베이스
- python기초
- 데이터 가공
- 예측
- MariaDB
- 해석
- 시각화
- keras
- python
- HeidiSQL
- tensorflow
- 데이터 분석
- DB
Archives
- Today
- Total
코딩헤딩
python 알고리즘 기초5 제너레이터(Generator)+예제 본문
728x90

1. 기본문법
def simple_generator():
### 첫번째 반환값
yield 1
### 두번째 반환값
yield 2
### 세번째 반환값
yield 3
### 제너레이터 전체 출력하기
for v in simple_generator():
print(v)
결과 :
1
2
3
제너레이터에서는 함수를 객체로 인지하고 사용
함수를 생성한다는 의미 또는 제너레이터 객체를 생성한다는 의미를 사용.
2. 1부터 5까지 숫자를 생성해서 반환하는 제너레이터
def number_generator():
for i in range(1, 6, 1):
yield i
1) 전체 출력하기
### 함수 객체 생성하기
gen = number_generator()
for num in gen:
print(num)
결과 :
1
2
3
4
5
2) 한건씩 출력하기
gen = number_generator()
try:
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
except:
pass
결과 :
1
2
3
4
5
3. 파일에 한줄씩 읽어서 변환하는 제너레이터
def read_lines(file_path):
### 파일 처리 시 이터레이터와 다르게 with문을 사용해도 된다.
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
yield line.strip()
### 제너레이터 함수 생성하기
gen = read_lines("./04_example.txt")
for line in gen:
print(line)
결과 :
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
sssssssssssssssssssssssssssssssssssssss
ddddddddddddddddddddddddddddddddddddddd
fffffffffffffffffffffffffffffffffffffff
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
728x90
'python' 카테고리의 다른 글
파이썬 가상환경 생성하기 (1) | 2023.11.18 |
---|---|
python 예제 (1) | 2023.11.18 |
python 알고리즘 기초4 이터레이터(Iterator)+예제 (0) | 2023.11.16 |
python 기초 13 (함수) (2) | 2023.11.16 |
python 알고리즘 기초3 데코레이터(Decorator) (1) | 2023.11.15 |