본문 바로가기
Python 문법/Python 기본 문법(3.10 기준)

[python3.10 기본] Python 버전별 특징

by cogito21_python 2024. 7. 1.
반응형

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: pkgutilpkg_resources를 사용하지 않고도 네임스페이스 패키지 사용 가능.
  • key-sharing dictionaries: 메모리 사용량 감소를 위한 딕셔너리 구현 개선.

Python 3.4 (2014년)

  • asyncio 모듈: 비동기 I/O를 위한 asyncio 모듈 도입.
  • pathlib 모듈: 객체 지향적 파일 시스템 경로를 위한 pathlib 모듈 도입.
  • enum 모듈: 열거형을 위한 enum 모듈 도입.
  • tracemalloc 모듈: 메모리 할당 추적을 위한 tracemalloc 모듈 도입.

Python 3.5 (2015년)

  • async/await 구문: 비동기 프로그래밍을 위한 asyncawait 구문 도입.
  • 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: removeprefixremovesuffix 문자열 메소드 추가.
  • 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) 문서를 참조하는 것이 좋습니다.

반응형