Python은 고급 프로그래밍 언어입니다.
XNUMX 년의 개발 끝에 안정 버전의 출시가 발표되었습니다. 프로그래밍 언어의 알파 테스트 단계의 시작이기도 합니다. 파이썬 3.12 및 Python 3.13(각각). Python 3.12의 이 새로운 분기는 XNUMX년 반 동안 지원될 것이며, 이후 XNUMX년 반 동안 취약점을 제거하기 위한 수정 사항이 생성될 것이라고 언급됩니다.
제시된 Python 3.12의 새 버전에는 다음이 개선되었습니다. f-문자열 분석의 유연성. 이제 이러한 개선으로 많은 제한 사항을 제쳐두어도 됩니다., 예를 들어 이제 여러 줄 표현식, 주석, 백슬래시 및 유니코드 이스케이프 시퀀스를 포함하여 Python에서 유효한 표현식을 포함할 수 있습니다. 또한 이제 내부 문자열에서 동일한 따옴표를 재사용할 수 있습니다. 즉, 이제 큰따옴표를 내부에서 재사용할 수 있습니다. 작은따옴표로 변경할 필요 없이.
예를 들면 다음과 같습니다.
f"""{f'''{f'{f"{1+1}"}'}'''}"""
이제 임의로 중첩할 수 있습니다.
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
눈에 띄는 또 다른 변화는 격리된 하위 해석기 및 별도의 전역 잠금 지원이는 프로세스 내의 서로 다른 인터프리터에 대해 CPython을 사용하면 여러 인터프리터가 프로세스에서 동시에 실행될 수 있기 때문에 멀티코어 시스템에서 리소스 사용의 효율성을 높이기 위한 것입니다. 현재로서는 이 기능은 현재 C-API를 통해서만 사용할 수 있습니다(Python API 지원은 다음 주요 분기에 표시됩니다).
이 외에도 다음 사항도 강조됩니다.오류 메시지의 정보 내용이 증가되었습니다. 예외 범위가 확대되어 인쇄상의 오류를 제거하기 위한 권장 사항이 제공됩니다. 예를 들어, 잊어버린 표준 라이브러리 모듈을 가져오기 위한 제안과 "self"라는 접두사를 붙이는 제안이 이제 표시됩니다.
Python 코드에서 버퍼 프로토콜을 사용하는 기능이 추가되었습니다. "__buffer__()" 메서드를 제공하는 클래스는 이제 메모리의 이진 데이터에 직접 작동하는 유형으로 사용될 수 있습니다.
모듈 sys.monitoring은 디버깅 및 프로파일링을 위해 제안되었습니다. 호출, 함수 반환, 임의의 코드 줄 실행, 예외 및 전환과 같은 CPython의 이벤트를 최소한의 오버헤드로 모니터링할 수 있습니다.
인터프리터는 Linux 커널 성능 하위 시스템에 대한 지원을 구현합니다., 성능 유틸리티를 사용하여 프로파일링할 때 Python 함수 이름을 결정할 수 있습니다(이전에는 C 함수 이름만 추적에서 결정되었습니다).
성능 개선에 관해서는 다음과 같이 언급됩니다. 최적화는 계속되었고, 어느와 총 성능 향상은 5%로 추정됩니다., 그것도 추가되었습니다 BOLT 바이너리 최적화 프로그램에 대한 실험적 지원 빌드 프로세스에 추가되어 성능이 1~5% 향상되었으며 asyncio 패키지의 성능이 크게 향상되었습니다(일부 테스트에서는 75% 속도 향상이 나타났습니다).
목록 이해의 인라인 확장이 구현되어 목록 이해 작업 속도가 최대 11배 향상되었습니다(목록 이해를 적극적으로 사용하는 코드의 경우 테스트 결과 전체 성능이 XNUMX% 증가한 것으로 나타났습니다).
보안을 강화하려면 기본 제공 구현 hashlib의 SHA1, SHA3, SHA2-384, SHA2-512 및 MD5 알고리즘이 대체되었습니다. HACL* 프로젝트에서 공식적으로 검증된 옵션 사용(내장 구현은 OpenSSL을 사용할 수 없는 경우에만 사용됨)
의 다른 변화 눈에 띄는 :
- 이 모듈은 Windows에 대한 지원을 확장했습니다.
- Python은 스택 오버플로 보호를 구현합니다.
asyncio.Task 클래스 생성 속도가 빨라졌습니다. - 유니코드 객체의 크기가 8바이트에서 16바이트로 줄었습니다.
- 정규식 re.sub(), re.subn() 및 re.Pattern을 사용한 작업이 가속화되었습니다.
- 일부 프로토콜에 대한 isinstance() 검사 실행 속도가 2~20배 빨라졌습니다.
- 상당히(일부 테스트에서는 최대 64%) tokenize.tokenize() 및 tokenize.generate_tokens() 함수의 속도가 향상되었습니다.
- 속성 로딩 및 super() 메소드 호출 속도가 빨라졌습니다.
- 일반 클래스 및 함수에 대해 새롭고 더 컴팩트한 유형 주석 구문이 제안되었습니다.
- 웹 브라우저 모듈은 Grail, mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird 및 Firefox(최대 버전 36)를 포함한 이전 브라우저를 더 이상 지원하지 않습니다.
- 향후 최적화를 준비하기 위해 정수의 내부 표현이 변경되었습니다.
마지막으로 언급했듯이 Python 3.13의 알파 테스트가 시작되었으며 컴파일 모드가 나타났습니다. 전역 인터프리터 잠금이 없는 CPython (GIL, 전역 통역사 잠금).
지점 Python 3.13은 XNUMX개월 동안 알파 버전으로 제공됩니다. 새로운 개발 일정에 따라 새로운 기능이 추가되고 버그가 수정되는 동안 새 브랜치에 대한 작업은 이전 브랜치가 출시되기 XNUMX개월 전부터 다음 버전이 테스트 단계 알파에 도달할 때까지 시작됩니다.
그 후 베타 버전은 XNUMX개월 동안 테스트되며, 이 기간 동안 새로운 기능 추가는 금지되고 버그 수정에 모든 주의가 집중됩니다. 출시 전 마지막 XNUMX개월 동안 해당 지점은 최종 안정화가 이루어지는 출시 후보 단계에 있게 됩니다.
마지막으로 예 당신은 그것에 대해 더 알고 싶어에서 세부 정보를 확인할 수 있습니다. 다음 링크.