我看着standard library documentation,我看到from typing import Sequence在引擎盖下呼叫collections.abc.

现在,对于一些抽象类,最初有一个弃用警告/错误和从collections包到collections.abc的migrations.See here.然而,既然抽象已经在一个新的位置安顿下来了,那么是否可以使用其中任何一个呢?我在代码库中看到了from collections.abc import [etc],我想知道在try 进行类型批注时,只从typing导入会不会更实用?

Cython源代码: Sequence = _alias(collections.abc.Sequence, 1)

推荐答案

然而,现在抽象已经在一个新的位置安顿下来,是否可以使用两者?

最好不要这样做.这documentation人特别写道:

类类型.Sequence(可逆[T_co],集合[T_co])

集合的别名已弃用.abc.Sequence.

从3.9版开始不推荐使用:Collection tions.abc.Sequence现在支持订阅([])

如果它已被弃用,则可能会在下一个版本的Python中删除.因此,可以使用collections.abc个泛型类.

Python相关问答推荐

Pandas 第二小值有条件

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

如何在polars(pythonapi)中解构嵌套 struct ?

使用@ guardlasses. guardlass和注释的Python继承

NP.round解算数据后NP.unique

Julia CSV for Python中的等效性Pandas index_col参数

SQLAlchemy Like ALL ORM analog

NumPy中条件嵌套for循环的向量化

迭代嵌套字典的值

当递归函数的返回值未绑定到变量时,非局部变量不更新:

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题

如何指定列数据类型

需要帮助重新调整python fill_between与数据点

python panda ExcelWriter切换动态公式到数组公式

如何获得满足掩码条件的第一行的索引?

如何在Python中自动创建数字文件夹和正在进行的文件夹?

Python日志(log)库如何有效地获取lineno和funcName?

按条件计算将记录拆分成两条记录

一维不匹配两个数组上的广义ufunc

为什么在生成时间序列时,元组索引会超出范围?