yield from – 다른 제너레이터에게 작업을 위임하기

제너레이터 내부에서 yield 가 쓰일 때, .send() 통해서 내부로 전달된 값으로 평가될 수 있다고 하였다. 만약, 해당 제너레이터/코루틴이 매 입력을 직접 처리하지 않고 다른 제너레이터에게 일부 작업을 위임할 필요가 있다면 yield from 이라는 새로운 문법을 사용할 수 있다. 이 문법을 사용할 경우 다음과 같이 처리된다. yield from sub_generator()의 형태로 쓰인다. 부모 제너레이터의 send(x) 가 호출되면

Python – 데이터를 입력받는 방법에 대해

데이터를 입력받는 것에 대하여 컴퓨터 프로그램은 함수와 같다. 프로그램은 입력장치로부터 데이터를 읽어들이고, 이 소스데이터를 가공하여 결과를 만들고, 이를 출력한다. 따라서 프로그램의 외부에서 그것이 실행되는 과정을 보는 것은 일종의 쥬스메이커와 같다고 볼 수 있다. 과일(입력될 데이터)을 투입구에 밀어넣고 동작 버튼을 누르면 기계속으로 들어간 과일이 잘리고 눌려서 과즙이 되고, 그것이 노즐을 통해서 퐁퐁 흘러나와 컵에 담기는 것과

파이썬의 반복문과 iterable에 대해

리스트, 튜플, 문자열, 사전의 공통점은? 모두 for … in 문에 사용할 수 있다는 점이다. 리스트는 for 문을 통해서 개별 원소에 대한 반복 작업을 할 수 있는데, 튜플과 문자열 역시 이와 똑같은 동작을 수행하며 사전의 경우에는 사전 내의 각 키에 대해서 순회하는 기능을 제공한다. 파이썬에서는 이와 같이 for … in 구문을 통해서 반복이 가능한 타입들을 묶어서

터미널에 컬러로 문자열을 출력해보자 (Python)

터미널 상에 결과를 찍어주는 간단한 프로그램을 만들 때,  특정 단어나 문장에 색을 넣어 출력하고 싶을 때가 있다. 이를 위한 Colorama 라는 패키지도 따로 있기는 한데, 사실 터미널에서 색을 입혀서 출력하는 것은 ANSI 제어 문자를 이용해서 할 수 있는 부분이라 직접 만들어 보기로 한다.

Whats new in python 3.6

파이썬 3.6에서 달라지는 점 이번주 금요일1에 파이썬 3.6이 발표될 예정이다. 몇 가지 새로워지는 변경사항에 대해 살펴보자. 새 기능들 포맷 문자열 리터럴 str.format()을 사용하던 문자열 포맷팅이 f” … ” 리터럴로 사용할 수 있게 된다. 해당 리터럴 내에서는 { } 내에 현재 스코프의 변수를 이용해서 치환될 수 있다. name = “John” greet = f”He said his name