Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 파이썬
- 한빛미디어
- 한빛미디어서평단
- Tistory
- matplotlib
- python visualization
- 파이썬 시각화
- MATLAB
- 서평단
- 블로그
- Blog
- Linux
- 월간결산
- 매틀랩
- tensorflow
- 시각화
- Ga
- MySQL
- 서평
- Python
- 텐서플로
- Pandas
- 티스토리
- 딥러닝
- Google Analytics
- Visualization
- 리눅스
- 독후감
- 통계학
- SQL
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] next, send, iter 본문
0. 목표
- next, send, iter 실습
1. 실습
1) next
- 코루틴 함수의 첫 번째 yield까지 호출한다음 대기
(1) 함수 생성
def next_test(i):
print('start')
while True:
yield i
i += 1
print('end')
(2) 인스턴스 생성
a = next_test(1)
(3) next 실행
next(a)
- 결과
start
1
(4) next 다시 실행
next(a)
- 결과
end
2
2) send
- yield 구문을 특정 변수에 할당하여 코루틴과 메인루틴이 서로 통신하게 함
(1) 함수 생성
def send_test2(i):
print('start')
while True:
value = yield i
print(value)
i += value
print('end')
(2) 인스턴스 생성
b = send_test2(1)
(3) next 실행
next(b)
- 결과
start
1
(4) send 실행
b.send(10)
- 결과
10
end
11
3) iter
- 반복을 끝낼 값을 지정하면 특정 값이 나올 때 반복 종료
(1) 예제 1
- 0에서 5까지 숫자를 랜덤하게 출력하면서 2가 출력 되면 멈추는 형태
import random
it = iter(lambda : random.randint(0, 5), 2)
while True:
print(next(it))
- 결과
5
5
1
5
1
0
1
4
1
4
1
1
0
0
4
4
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-178-736265e1ffb3> in <module>
1 while True:
----> 2 print(next(it))
StopIteration:
(2) 예제 2
- 리스트 등으로 받아서 사용도 가능
it = iter([1, 2, 3])
print(it)
- 결과
<list_iterator object at 0x109498150>
* 활용
for i in it:
print(i)
- 결과
1
2
3
2. 참고
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] handcalcs 라이브러리를 통한 수식 작성 (0) | 2020.08.21 |
---|---|
[PYTHON] sweetviz를 통한 EDA (0) | 2020.08.19 |
[PYTHON] 삼항연산자 (0) | 2020.06.06 |
[PYTHON] reduce (0) | 2020.06.02 |
[PYTHON] filter (0) | 2020.06.02 |
Comments