10월에 출시될 Python 3.12는 개발자의 프로그래밍 경험을 향상시키기 위해 설계된 몇 가지 흥미로운 새 기능과 개선 사항을 도입할 예정이므로 많은 기대를 모으고 있습니다. 이번 업데이트의 주요 목표는 코더가 자신의 능력을 연마할 수 있는 보다 간소화되고 강력한 환경을 제공하는 것입니다.

향상된 오류 메시지

파이썬의 최신 버전인 3.11에서는 코드 줄 내 문제의 특정 위치에 대한 보다 정확한 정보를 제공함으로써 오류 메시지 기능이 향상되었습니다.

파이썬의 최신 버전인 3.12는 기능을 새로운 차원으로 끌어올리는 몇 가지 개선 사항을 제공합니다.

누락된 모듈에 대한 새로 도입된 제안 기능은 이제 의도치 않게 가져오기를 누락했을 수 있는 경우 표준 라이브러리의 모듈까지 포함하도록 확장되었습니다.

가져오기와 관련된 일반적인 어휘 오류에 대한 향상된 오류 알림이 구현되었습니다. 코드에 ‘m에서 p 가져오기’와 같은 실수가 있는 경우, ‘m에서 p 가져오기’를 입력하려고 했는지 여부를 묻는 경고 메시지가 표시됩니다.

특정 모듈과 관련하여 오류가 발생하면 이제 해당 모듈의 네임스페이스 가져오기에서 권장 사항이 오류 메시지에 포함됩니다.

클래스의 인스턴스가 관련되어 있을 때 변수 이름과 함께 “self”를 포함하는 권장 사항이 업데이트된 NameError 기능에 포함됩니다. 이러한 경우 변수 “speed”가 정의되지 않은 경우 오류 메시지에 “self.speed”를 대신 사용할 것을 제안하므로 클래스 인스턴스로 작업하는 동안 발생하는 일반적인 실수를 방지하는 데 도움이 됩니다.

Linux Perf 프로파일러 지원

Linux 애플리케이션에 널리 사용되는 프로파일링 도구인 Perf가 Python 3.12 프로그램을 수용하도록 업데이트되었습니다. 이전에는 Python 런타임 내에서 C 레벨 작업의 성능 모니터링으로만 범위가 제한되었습니다.

Python 3.12에서는 sys.activate\_stack\_trampoline 함수를 사용하여 환경 또는 프로그래밍 수준에서 활성화를 통해 Python 프로그램의 성능에 대한 정보를 수집하기 위해 perf를 활용하는 기능이 도입되었습니다.

유형 힌트 개선

Python 3.5에서 유형 힌트 구문을 구현하여 린팅 도구를 활용하여 수많은 오류를 감지할 수 있게 되었습니다. 이후 릴리스에서는 더 많은 시나리오를 처리할 수 있도록 유형 시스템을 확장하여 기능이 향상된 타이핑 시스템을 구현했습니다.

이 글도 확인해 보세요:  슬랙에서 나만의 사용자 지정 슬래시 명령 만들기

TypedDict

파이썬 3.12에서는 함수의 키워드 인수를 힌트하기 위한 소스로 의 TypedDict 사용을 도입했습니다.이는 버전 3.11에 도입된 Unpack 가변 제네릭을 활용합니다.

이 특성의 데모는 다음과 같습니다:

 class Movie(TypedDict):
    name: str
    year: int

def foo(**kwargs: Unpack[Movie]) -> None: ...

함수 “foo”는 이름과 유형이 “str” 유형의 “name” 필드와 “int” 유형의 “year” 필드를 포함하는 “Movie TypedDict”의 요소에 해당하는 키워드 인수를 받을 수 있습니다.

앞서 언급한 개선 사항은 기본값이 없는 키워드 인수를 받는 함수를 만나서 모든 인수를 제공해야 하는 상황에서 특히 유용합니다.

타입 매개변수 구문

파이썬의 최신 릴리스인 버전 3.12에서는 일반 클래스, 함수 또는 타입 별칭과 관련된 타입을 보다 간결하게 지정하는 방법이 도입되었습니다.

무엇을 요청하는지 이해할 수 없습니다

 # the old method
from typing import TypeVar
_T = TypeVar("_T")
def func(a: _T, b: _T) -> _T:
    ...
# the new type parameter method
def func[T](a: T, b: T) -> T:
    ...

(str, int)].

가비지 컬렉션

파이썬 3.12에서는 가비지 컬렉터(GC)의 작동에 대한 수정이 있었다고 합니다. 객체가 생성될 때마다 GC가 실행되던 이전 버전과 달리, 이제 GC는 필요할 때마다 실행됩니다.

파이썬 3.12 이상에서 가비지 컬렉터(GC)는 파이썬 바이트코드 루프 내에 통합된 평가 중단 메커니즘 내에서만 작동합니다. 즉, GC는 하나의 바이트코드 명령어 처리와 후속 루프 반복 사이의 간격 동안 작동합니다.

또한 가비지 컬렉터(GC)는 시그널 핸들러에 대한 검사 메커니즘이 CPython에서 실행될 때마다 활성화됩니다. 이 수정으로 런타임 외부에서 이루어지는 C 확장에 대한 확장 호출 중에 주기적인 가비지 수집이 수행될 수 있습니다.

파이썬 3.12 공개

파이썬의 최신 버전인 3.12는 개발자의 프로그래밍 경험을 향상시킬 몇 가지 주목할 만한 업데이트를 자랑합니다. 이러한 업데이트에는 더 많은 정보를 제공하는 오류 메시지, 더 나은 유형 검사, Linux 성능 프로파일러와의 통합, 최적화된 가비지 수집 등이 포함됩니다. 이러한 발전을 통해 최고 수준의 코드를 효율적으로 생성할 수 있으므로 개발자는 자신의 능력을 향상시키고 새로운 수준의 우수성에 도달할 수 있습니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.