Python 3.15 정식 출시 - 지연 임포트, 불변 딕셔너리, UTF-8 기본 인코딩 도입

1 day ago 4

Python 3.15.0 정식 출시로 UTF-8을 기본 인코딩으로 사용하고, 불변 딕셔너리 frozendict와 고유한 표식 값을 만드는 sentinel 내장 타입 추가 명시적 지연 임포트로 모듈을 처음 사용하는 시점까지 로딩을 미뤄 시작 시간을 줄일 수 있으며, 컴프리헨션에서 *와 ** 언패킹 지원 실험적 JIT는 pyperformance 벤치마크의 기하평균 기준으로 x86-64 Linux에서 표준 인터프리터보다 7~8%, AArch64 macOS에서 꼬리 호출 인터프리터보다 11~12% 빨라짐 새 샘플링 프로파일러 Tachyon으로 실행 중인 프로세스를 코드 수정이나 재시작 없이 분석 가능하며, 프레임 포인터를 기본 활성화해 시스템 도구의 스택 추적 개선 자유 스레딩 빌드용 안정 ABI인 abi3t 를 도입하고, TypedDict의 추가 키 타입과 타입 표현식을 받는 API의 어노테이션 지원 확대 시작 시간과 일상적인 코드 작성 개선 Python 3.15.0은 2026년 10월 9일 출시된 안정판으로, 기여자 1,012명의 커밋 5,643개를 반영함 필요한 시점에 모듈을 로딩하는 지연 임포트 명시적 지연 임포트, PEP 810는 lazy import와 lazy from ... import 구문으로 사용 가능 임포트한 이름을 처음 사용하는 시점까지 실제 모듈 로딩을 지연 파일 상단에 임포트를 모아두면서도, 실행 과정에서 사용하지 않는 모듈의 로딩 비용을 피할 수 있음 모듈 로딩에 실패하면 임포트 선언 시점이 아니라 첫 사용 시점에 예외가 발생하며, traceback에 두 위치를 함께 표시 UTF-8 기본 인코딩과 컴프리헨션 언패킹 UTF-8 기본 인코딩, PEP 686에 따라 시스템 환경과 무관하게 UTF-8을 기본 사용 open()처럼 인코딩을 명시하지 않은 텍스트 입출력에 적용되며, 명시한 encoding 값은 그대로 사용 컴프리헨션 언패킹, PEP 798으로 여러 리스트나 딕셔너리를 하나로 합치는 구문 지원 [*items for items in lists]로 여러 리스트를 평탄화 가능 {**items for items in dicts}로 여러 딕셔너리를 병합 가능 집합 컴프리헨션과 제너레이터 표현식에도 적용 새 내장 타입과 오류 메시지 frozendict, PEP 814는 생성 후 항목을 변경할 수 없는 딕셔너리 모든 키와 값이 해시 가능하면 frozendict 자체도 딕셔너리 키나 집합 원소로 사용 가...

Read Entire Article