IT Study Note
[Python] What's New In Python 3.11 - 새로운 기능
dev_swcyu
2023. 2. 4. 19:30
Python 3.11
- 파이썬의 새 버전은 연 단위로, 상반기에 베타, 하반기에 최종버전이 출시된다.
- 2022년 하반기에 나온 Python 3.11이 최신버전으로 다음과 같은 신기능에 주목할 필요가 있다고 한다
- 속도 개선
- 3.10보다 1.25배(10~60%) 향상된 속도
- 향상된 오류 정보: 어떤 부분이 오류를 일으키는지 표시
- 예외 개선
- 여러 예외 동시 발생 및 처리 가능
- 실제로 예외 발생 전까지 비용 '0'
- 예외 포착에 필요한 시간 감소
- 컨텍스트 메모로 예외에 대한 설명 보완 가능
- 형식 지정 개선
- 셀프 형식: typing.Self 이용한 간단한 Self 주석 달기
- 임의 문자열 리터럴 형식: typing.LiteralString 통해 리턴되는 변수가 소스코드에 정의된 문자열인지 테스트 가능
- 데이터 클래스 변형: 데이터 클래스 변형은 typing.dataclass_transform 데코레이터 추가
- 가변 제네릭: 한 형식뿐만 아니라 일련의 형식을 위한, 튜플로 표시되는 자리표시자를 지정하는데 사용 가능
- stdlib의 TOML(Tom's Obvious Minimal Language) 읽기 전용 지원: tomlib 추가 (단, TOML 파일 생성과 쓰기를 위해서는 서드파티 모듈 필요)
- TOML(Tom's Obvious Minimal Language): A config file format for humans (TOML: Tom's Obvious Minimal Language)
- 읽기 쉽고, 명확하며 다양한 언어로 구문 분석(parse)하기 쉬운 미니멀한 config 파일 형식을 지향한다.
- TOML(Tom's Obvious Minimal Language): A config file format for humans (TOML: Tom's Obvious Minimal Language)
- regex를 위한 원자 그룹과 속도 향상
- 원자 그룹 위한 공통 구문 사용해 그 동안 지원하지 않았던 패턴 지원
- re모듈의 패턴 매칭 엔진 일부 다시 작성, 실행 속도 10% 빨라짐
- 표준 라이브러리의 '죽은 배터리'(오래되거나 유지보수되지 않는 모듈 의미) 제거
- 파이썬 3.11부터: 더 이상 사용되지 않는다는 표식 달림
- 파이썬 3.13부터: 완전히 제거
- 그 밖의 추가, 수정, 변경 사항
- 네임스페이스 지연 생성, 네임스페이스 사전이 가능한 모든 경우 키를 공유하여 필요한 메모리 용량 줄어듦
- 모든 키가 유니코드인 사전은 해시를 저장할 필요가 없어서 사전 크기가 줄어들고 캐시 효율성 향상
- C파이썬 런타임이 웹어셈블리로의 컴파일 실험적 지원
- 속도 개선
출처
- What’s New In Python 3.11 — Python 3.11.1 documentation
- "1.25배 더 빨라졌다" 파이썬 3.11의 주목할 신기능 - ITWorld Korea
- TOML: Tom's Obvious Minimal Language