태그 보관물: python

Whats new in python 3.6

파이썬 3.6에서 달라지는 점

이번주 금요일1에 파이썬 3.6이 발표될 예정이다. 몇 가지 새로워지는 변경사항에 대해 살펴보자.

새 기능들

포맷 문자열 리터럴

str.format()을 사용하던 문자열 포맷팅이 f" ... " 리터럴로 사용할 수 있게 된다. 해당 리터럴 내에서는 { } 내에 현재 스코프의 변수를 이용해서 치환될 수 있다.

name = "John"
greet = f"He said his name is {name}"
print(greet) # "He said his name is John"

width = 10
precision = 4
value = decimal.Decimal("12.34567")
print(f"result: {value: {width}.{precision}}")
# "result:     12.35"
#         ^^^^^ 5

계속 읽기

(Python) asyncio를 통한 비동기 코루틴 완전 정복

asyncio에 의한 단일 스레드 병렬 작업

지난 글에서 concurrent.futures 모듈을 통해서 멀티스레딩/멀티프로세싱에 대한 고수준 API를 파이썬에서 사용할 수 있게 됨을 확인했다. 이 새로운 API는 멀티 스레드 디스패치를 사용하기 쉽게 만들 뿐 아니라, 직접 스레드를 제어하는 것이 아닌 Future 객체를 사용함으로써 Promise 개념을 도입한 것과 유사한 결과를 보여준다고 했다.

이 기능이 도입된 것이 파이썬 3.2였고, 뒤이은 업데이트인 3.4 버전에서는 단일 스레드 기반의 비동기 처리를 할 수 있는 asyncio가 도입되었다. asyncio는 파이썬의 코루틴을 사용하여 I/O 등의 레이턴시가 큰 작업에 대해 non-blocking으로 동작하는 코드를 작성할 수 있게 한다.

계속 읽기