内置类型(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 之前不支持索引。