반응형
Python 3.x 시리즈 주요 변경 사항 (3.0부터 3.12까지)
Python 3.0 (2008년)
- 문법 및 라이브러리 호환성 변경: 많은 라이브러리와 문법이 변경되었으며, Python 2와 호환되지 않음.
- print 함수:
print
가 함수로 변경되어print("Hello, World!")
형식을 사용. - Integer division:
/
연산자가 부동 소수점 나눗셈을 수행하고,//
연산자가 정수 나눗셈을 수행. - 문자열 처리: 기본 문자열 타입이 유니코드이며,
bytes
타입이 도입됨. - 예외 처리:
as
키워드를 사용하여except
구문을 개선 (except Exception as e
).
Python 3.1 (2009년)
- ordered dictionary:
collections.OrderedDict
클래스 도입. - faster I/O: I/O 속도 개선.
- 기타 성능 개선: 많은 내장 함수와 모듈의 성능이 개선됨.
Python 3.2 (2011년)
- futures 모듈: 동시성 작업을 위한
concurrent.futures
모듈 도입. - new syntax:
yield from
문법 도입. - 보안 강화:
hashlib
모듈의 보안 기능 강화.
Python 3.3 (2012년)
- 가상 환경 내장:
venv
모듈 도입. - namespace packages:
pkgutil
및pkg_resources
를 사용하지 않고도 네임스페이스 패키지 사용 가능. - key-sharing dictionaries: 메모리 사용량 감소를 위한 딕셔너리 구현 개선.
Python 3.4 (2014년)
- asyncio 모듈: 비동기 I/O를 위한
asyncio
모듈 도입. - pathlib 모듈: 객체 지향적 파일 시스템 경로를 위한
pathlib
모듈 도입. - enum 모듈: 열거형을 위한
enum
모듈 도입. - tracemalloc 모듈: 메모리 할당 추적을 위한
tracemalloc
모듈 도입.
Python 3.5 (2015년)
- async/await 구문: 비동기 프로그래밍을 위한
async
및await
구문 도입. - matrix multiplication operator: 행렬 곱셈을 위한
@
연산자 도입. - type hints: 함수 인자와 반환 값의 타입을 명시하기 위한 타입 힌트 도입 (PEP 484).
Python 3.6 (2016년)
- f-string: 포매팅을 위한 f-string 도입 (
f"Hello, {name}!"
). - underscore in numeric literals: 숫자 리터럴 내에 밑줄 사용 가능 (
1_000_000
). - dict 유지 순서: 딕셔너리가 삽입 순서를 유지하도록 변경.
- async/await 확장: 비동기 제너레이터와 비동기 컴프리헨션 도입.
Python 3.7 (2018년)
- 데이터 클래스:
dataclasses
모듈 도입으로 간단한 클래스 생성 가능 (@dataclass
데코레이터 사용). - asyncio 개선: 비동기 기능의 성능 및 사용성 개선.
- breakpoint(): 디버깅을 쉽게 하기 위해 내장
breakpoint()
함수 도입. - 모듈 수준에서 getattr() 및 dir(): 모듈에 대한 동적 속성 접근 및 디렉토리 목록 제공.
Python 3.8 (2019년)
- walrus operator: 할당 표현식 도입 (
:=
). - positional-only parameters: 위치 전용 인자 구문 추가 (
/
). - f-string improvements: f-string 내에서
=
연산자 사용 가능. - typing 개선:
TypedDict
및 프로토콜 등의 타입 힌팅 개선.
Python 3.9 (2020년)
- dictionary merge & update operators: 딕셔너리 병합 (
|
) 및 업데이트 (|=
) 연산자 도입. - type hinting generics: 리스트와 같은 내장 컬렉션 타입에 대한 제너릭 지원 (
list[int]
). - string methods:
removeprefix
및removesuffix
문자열 메소드 추가. - zoneinfo 모듈: 시간대 정보 지원을 위한
zoneinfo
모듈 도입.
Python 3.10 (2021년)
- pattern matching: 구조적 패턴 매칭 기능 도입 (
match
/case
구문). - precise error messages: 구문 오류 메시지의 정확도 및 가독성 향상.
- parenthesized context managers: 컨텍스트 관리자 구문에서 괄호 사용 가능.
Python 3.11 (2022년)
- faster CPython: 성능 최적화 및 실행 속도 향상.
- exception groups: 예외 그룹 및 예외 그룹 핸들링 도입.
- fine-grained error locations: 구문 오류에 대한 세밀한 위치 정보 제공.
Python 3.12 (2023년)
- syntax enhancements: 새로운 문법 개선 및 최적화.
- standard library updates: 표준 라이브러리의 다양한 업데이트 및 개선.
- additional performance improvements: 더 많은 성능 최적화 및 개선.
각 버전마다 추가된 기능들을 통해 Python이 어떻게 발전해왔는지 알 수 있습니다. 최신 버전의 Python을 사용함으로써 이러한 새로운 기능들과 개선된 성능을 활용할 수 있습니다. 특정 기능이나 변경 사항에 대해 더 자세히 알고 싶다면, 해당 버전의 PEP(Python Enhancement Proposal) 문서를 참조하는 것이 좋습니다.
반응형
'Python 문법 > Python 기본 문법(3.10 기준)' 카테고리의 다른 글
[python310 기본] 4. 제어문 (0) | 2024.07.01 |
---|---|
[python3.10 기본] 3. 연산자와 표현식 (0) | 2024.07.01 |
[python3.10 기본] 2. 기본 문법 (1) | 2024.07.01 |
[python3.10 기본] 1. 파이썬 소개 (0) | 2024.07.01 |
[python3.10 기본] 목차 (0) | 2024.07.01 |