Standard Library Learning Path에 types 모듈 워크북 추가

발행: (2026년 1월 4일 오후 01:18 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

Overview

저는 types 모듈 워크북을 완성하여 standardlib-datastruct 저장소에 업로드했습니다. 이 워크북은 Python의 런타임 객체 타입과 CPython 내부 구조를 깊이 파고들며, types 모듈에 포함된 가장 중요한 타입 18가지를 다루는 연습 문제를 제공합니다. 특정 순서보다는 포괄적인 커버리지를 목표로 하여, Python 내부에서 타입이 어떻게 작동하는지 마스터할 수 있도록 돕습니다.

Types Covered

Function and Method Types

  • FunctionTypeLambdaType – 일반 함수와 람다
  • MethodType – 바인드 메서드
  • BuiltinFunctionTypeBuiltinMethodType – 내장 호출 가능 객체

Async and Generator Types

  • GeneratorType – 일반 제너레이터
  • AsyncGeneratorType – 비동기 제너레이터
  • CoroutineType – 코루틴 객체

Code and Execution Types

  • CodeType – 컴파일된 바이트코드 객체
  • FrameType – 실행 프레임
  • TracebackType – 예외 트레이스백

Descriptor Types

  • MemberDescriptorType – 클래스 속성 디스크립터
  • WrapperDescriptorType – 저수준 내장 디스크립터
  • GetSetDescriptorType – C로 구현된 프로퍼티

Utility Types

  • MappingProxyType – 읽기 전용 딕셔너리 뷰
  • ModuleType – 모듈 객체
  • EllipsisType... 싱글톤
  • NotImplementedTypeNotImplemented 싱글톤

Workbook Details

  • 위에 나열된 타입을 다루는 18개의 연습 문제.
  • 각 연습 문제는 명확한 문제 설명과 작동하는 코드 예시가 포함된 완전한 솔루션을 제공합니다.
  • 워크북은 초보자 친화적이 아니도록 설계되었으며, Python 객체 모델과 타입 동작에 대한 이해를 전제로 합니다.

Learning Approach

  • 방대한 참고 자료보다는 실용적인 연습 중심 학습에 초점을 맞춥니다.
  • Python 3.11 사용.
  • C 코드를 살펴보지 않고도 CPython 내부 디스크립터 타입을 이해하는 방법을 보여줍니다:
    • MemberDescriptorType – CPython에서 구현된 속성(예: 속성 접근)
    • GetSetDescriptorType – CPython에서 구현된 프로퍼티(property와 유사하지만 C로 구현)
    • WrapperDescriptorType – CPython에서 구현된 메서드

Repository

  • Repository:
  • Files included in the release:
    • types_exercises_workbook.md – Markdown 형식
    • types_exercises_workbook.pdf – PDF 형식 (Pandoc + MiKTeX으로 생성)
    • types_workbook.py – 소스 생성 스크립트
  • 이전 추가 작업: functools 워크북, itertools 워크북.
  • 이 프로젝트는 지속적으로 업데이트되며, 완료되는 대로 더 많은 표준 라이브러리 모듈이 추가될 예정입니다.

다운로드하여 연습 문제를 풀어보고, 자신의 학습 스타일에 맞게 활용해 보세요.

Back to Blog

관련 글

더 보기 »

문제 10: 중복 제거

문제 설명 우리는 리스트에서 중복을 제거하면서 원래 요소들의 순서를 유지하는 함수를 필요로 합니다. 예시: `remove_duplicates` 1, 2, 2, 3...