内置类型(Built-in)¶
本章介绍一些常用的内置类型。我们稍后将涵盖许多其他类型。
简单类型¶
以下是一些常见内置类型的示例:
类型 |
描述 |
|---|---|
|
整数 |
|
浮点数 |
|
布尔值( |
|
文本,unicode 代码点的序列 |
|
8 位字符串,字节值的序列 |
|
任意对象( |
所有内置类都可以用作类型。
任意类型¶
如果找不到合适的类型来表示某个值,您始终可以退回到 Any:
类型 |
描述 |
|---|---|
|
动态类型值,具有任意类型 |
类型 Any 在 typing 模块中定义。有关更多详细信息,请参见 动态类型代码(Dynamically)。
泛型类型¶
在 Python 3.9 及更高版本中,内置集合类型对象支持索引:
类型 |
描述 |
|---|---|
|
|
|
包含两个 |
|
包含任意数量的 |
|
从 |
|
包含整数的可迭代对象 |
|
布尔值序列(只读) |
|
从 |
|
|
类型 dict 是一个 泛型 类,通过 [...] 中的类型参数表示。例如,dict[int, str] 是一个从整数到字符串的字典,dict[Any, Any] 是一个动态类型(任意)值和键的字典。list 是另一个泛型类。
Iterable、Sequence 和 Mapping 是与 Python 协议相对应的泛型类型。例如,当期待 Iterable[str] 或 Sequence[str] 时,str 对象或 list[str] 对象都是有效的。
您可以从 collections.abc 导入它们,而不是在 Python 3.9 中从 typing 导入。
有关详细信息,包括如何在 Python 3.7 和 3.8 中使用这些类型进行注释,请参见 使用泛型内置类型。
如果您需要支持 Python 3.8 及更早版本,则需要使用在 typing 中定义的以下遗留类型:
类型 |
描述 |
|---|---|
|
|
|
包含两个 |
|
包含任意数量的 |
|
从 |
|
包含整数的可迭代对象 |
|
布尔值序列(只读) |
|
从 |
|
|
List 是内置类型 list 的别名,支持索引( dict/Dict 和 tuple/Tuple 也是如此)。
请注意,尽管 Iterable、Sequence 和 Mapping 看起来与在 collections.abc 中定义的抽象基类相似(以前是 collections ),但它们并不完全相同,因为后者在 Python 3.9 之前不支持索引。