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 파일 형식을 지향한다.
    • regex를 위한 원자 그룹과 속도 향상
      • 원자 그룹 위한 공통 구문 사용해 그 동안 지원하지 않았던 패턴 지원
      • re모듈의 패턴 매칭 엔진 일부 다시 작성, 실행 속도 10% 빨라짐
    • 표준 라이브러리의 '죽은 배터리'(오래되거나 유지보수되지 않는 모듈 의미) 제거
      • 파이썬 3.11부터: 더 이상 사용되지 않는다는 표식 달림
      • 파이썬 3.13부터: 완전히 제거
    • 그 밖의 추가, 수정, 변경 사항
      • 네임스페이스 지연 생성, 네임스페이스 사전이 가능한 모든 경우 키를 공유하여 필요한 메모리 용량 줄어듦
      • 모든 키가 유니코드인 사전은 해시를 저장할 필요가 없어서 사전 크기가 줄어들고 캐시 효율성 향상
      • C파이썬 런타임이 웹어셈블리로의 컴파일 실험적 지원

 

 

 

출처