Dev Language/Python
[파이썬 중급]#5_1. 병행성
ydin
2021. 11. 18. 20:41
- 이터레이터(Iterator), 제네레이터(Generator)
-파이썬 반복 가능한 타입: collecions,text file, list, Dict, Set, Tuple, Unpaccking, *args
-가능한 이유: iter() 함수 호출하기 때문
- 반복, next() 이해
-순서대로 알파벳 출력되다가 더이상 출력할 문자 없으면 break 실행
- 반복형 속성 여부 확인하는 방법 3가지
- Generator Pattern 장점
1. 지능형 리스트, 딕셔너리, 집합 -> 데이터 증가 후 메모리 사용량 증가 -> 제네레이터 사용 권장함
2. 다위 실행 가능한 코루틴 구현과 연동
3. 작은 메모리 조각 사용
- 제네레이터 예제(텍스트 넣어서 연습)
- 병행성(Concurrency): 한 컴퓨터가 여러 일을 동시에 수행 -> !단일! 프록램 안에서 여러일을 쉽게 해결하는 것
- 병렬성(Parallelism): 여러 컴퓨터가 여러 작업을 동시에 수행 -> 속도 향상
- 예제1
- Generator Ex3
- 중요함수: count, takewhile,filterfalse, accumulate, chain, product, groupby
- itertools.accumulate(): 반복문에서 값 하나씩 더해나감
- itertools.chain()
- itertools.product()
- groupby(): 같은 문자들로 하나씩 묶는다