# 구상 객체 계층

이 장의 함수는 특정 파이썬 객체 형에게만 적용됩니다. 그들에게 잘못된 형의 객체를 전달하는 것은 좋은 생각이 아닙니다; 파이썬 프로그램에서 객체를 받았는데 올바른 형을 가졌는지 확실하지 않다면, 먼저 형 검사를 수행해야 합니다; 예를 들어, 객체가 딕셔너리인지 확인하려면, `PyDict_Check()`를 사용하십시오. 이 장은 파이썬 객체 형의 “족보”처럼 구성되어 있습니다.

경고

이 장에서 설명하는 함수는 전달되는 객체의 형을 주의 깊게 검사하지만, 많은 함수는 유효한 객체 대신 전달되는 `NULL`을 확인하지 않습니다. `NULL`을 전달하면 메모리 액세스 위반이 발생하고 인터프리터가 즉시 종료될 수 있습니다.

## 기본 객체

이 절에서는 파이썬 형 객체와 싱글톤 객체 `None`에 대해 설명합니다.

- 형 객체
  - 힙에 할당된 형 만들기
- `None` 객체

## 숫자 객체

- 정수 객체
  - Export API
  - PyLongWriter API
- 불리언 객체
- 부동 소수점 객체
  - Pack and Unpack functions
    - Pack functions
    - Unpack functions
- 복소수 객체
  - C 구조체로서의 복소수
  - 파이썬 객체로서의 복소수

## 시퀀스 객체

시퀀스 객체에 대한 일반적인 연산은 이전 장에서 논의했습니다; 이 절에서는 파이썬 언어에 고유한 특정 종류의 시퀀스 객체를 다룹니다.

- 바이트열 객체
- 바이트 배열 객체
  - 형 검사 매크로
  - 직접 API 함수
  - 매크로
- 유니코드 객체와 코덱
  - 유니코드 객체
    - 유니코드 형
    - 유니코드 문자 속성
    - 유니코드 문자열 생성과 액세스
    - 로케일 인코딩
    - 파일 시스템 인코딩
    - wchar_t 지원
  - 내장 코덱
    - 일반 코덱
    - UTF-8 코덱
    - UTF-32 코덱
    - UTF-16 코덱
    - UTF-7 코덱
    - 유니코드 이스케이프 코덱
    - 원시 유니코드 이스케이프 코덱
    - Latin-1 코덱
    - ASCII 코덱
    - 문자 맵 코덱
    - 윈도우 용 MBCS 코덱
  - 메서드와 슬롯 함수
  - PyUnicodeWriter
  - Deprecated API
- 튜플 객체
- 구조체 시퀀스 객체
- 리스트 객체

## 컨테이너 객체

- 딕셔너리 객체
- 집합 객체

## 함수 객체

- 함수 객체
- 인스턴스 메서드 객체
- 메서드 객체
- 셀 객체
- 코드 객체
- Code Object Flags
- Extra information

## 기타 객체

- 파일 객체
- 모듈 객체
- Module definitions
  - Module slots
- Creating extension modules dynamically
- 지원 함수
  - Module lookup (single-phase initialization)
- 이터레이터 객체
- 디스크립터 객체
- 슬라이스 객체
  - Ellipsis 객체
- MemoryView 객체
- 약한 참조 객체
- 캡슐
- Frame Objects
  - Frame Locals Proxies
  - Internal Frames
- 제너레이터 객체
- 코루틴 객체
- 컨텍스트 변수 객체
- DateTime 객체
- Objects for Type Hinting