This document is for an old version of Python that is no longer supported. You should upgrade and read the Python 当前稳定版本的文档.

# Concrete Objects Layer

The functions in this chapter are specific to certain Python object types. Passing them an object of the wrong type is not a good idea; if you receive an object from a Python program and you are not sure that it has the right type, you must perform a type check first; for example, to check that an object is a dictionary, use `PyDict_Check()`. The chapter is structured like the 「family tree」 of Python object types.

警告

While the functions described in this chapter carefully check the type of the objects which are passed in, many of them do not check for NULL being passed instead of a valid object. Allowing NULL to be passed in can cause memory access violations and immediate termination of the interpreter.

## Fundamental Objects

This section describes Python type objects and the singleton object `None`.

- Type Objects
- The `None` Object

## Numeric Objects

- Plain Integer Objects
- 布林物件
- Long Integer Objects
- 浮點數（Floating Point）物件
- Complex Number Objects
  - Complex Numbers as C Structures
  - Complex Numbers as Python Objects

## Sequence Objects

Generic operations on sequence objects were discussed in the previous chapter; this section deals with the specific kinds of sequence objects that are intrinsic to the Python language.

- Byte Array Objects
  - Type check macros
  - Direct API functions
  - Macros
- String/Bytes Objects
- Unicode物件與編碼
  - Unicode Objects
    - Unicode Type
    - Unicode Character Properties
    - Plain Py_UNICODE
    - wchar_t Support
  - Built-in Codecs
    - Generic Codecs
    - UTF-8 Codecs
    - UTF-32 Codecs
    - UTF-16 Codecs
    - UTF-7 Codecs
    - Unicode-Escape Codecs
    - Raw-Unicode-Escape Codecs
    - Latin-1 Codecs
    - ASCII Codecs
    - Character Map Codecs
    - MBCS codecs for Windows
    - Methods & Slots
  - Methods and Slot Functions
- Buffers and Memoryview Objects
  - The new-style Py_buffer struct
  - Buffer related functions
  - MemoryView objects
  - Old-style buffer objects
- 元組（Tuple）物件
- List（串列）物件

## Mapping Objects

- 字典物件

## Other Objects

- Class and Instance Objects
- 函式（Function）物件
- Method Objects
- 檔案（File）物件
- 模組物件模組
- 迭代器（Iterator）物件
- 修飾器物件
- 切片物件
- Ellipsis Object
- 弱參照物件
- Capsules
- CObjects
- Cell 物件
- 產生器物件
- DateTime 物件
- Set Objects
- Code Objects