파이썬 3.15 숨겨진 새 기능들 공개
원제: Python 3.15: features that didn't make the headlines
왜 중요한가
파이썬의 동시성 프로그래밍과 데코레이터 패턴 개선으로 개발 생산성 향상 기대
파이썬 3.15.0b1 기능 동결과 함께 공개된 새 버전의 주요 기능들이 발표됐다. 큰 기능들 외에도 AsyncIO TaskGroup 취소 기능, 컨텍스트 매니저 개선 등 개발자들이 주목해야 할 소규모 기능들이 다수 포함됐다.
파이썬 3.15는 지연 가져오기와 타키온 프로파일러 같은 대형 기능 외에도 개발자 편의성을 높이는 다양한 소규모 기능들을 제공한다. AsyncIO 영역에서는 TaskGroup의 새로운 cancel() 메소드가 추가됐다. 기존에는 TaskGroup을 중단하려면 예외를 발생시켜 다른 태스크들을 취소하는 복잡한 방법을 사용해야 했지만, 이제 tg.cancel()로 간단히 그룹을 취소할 수 있다.
컨텍스트 매니저 개선도 주목할 만하다. 파이썬 3.3부터 컨텍스트 매니저를 데코레이터로 사용할 수 있었지만, 비동기 함수나 제너레이터에서는 제대로 작동하지 않는 문제가 있었다. 이들은 호출 시 즉시 반환되어 데코레이터가 전체 생명주기를 감싸지 못했기 때문이다. 파이썬 3.15에서는 ContextDecorator가 래핑하는 함수 타입을 확인하여 전체 수명을 올바르게 처리한다. 이로 인해 컨텍스트 매니저가 데코레이터 작성의 최고 방법이 되었다고 평가받고 있다.