Python3.9是否更新了如何提示函数类型?

Python3.9是否更新了如何提示函数类型?,python,python-3.x,type-hinting,python-typing,python-3.9,Python,Python 3.x,Type Hinting,Python Typing,Python 3.9,在3.9之前,我会使用: from typing import Callable def my_function(argument_function: Callable) -> None: 现在我不确定了 具有不推荐使用的类型列表,其中不包括Typing.Callable,但包括collections.abc.Callable。 到目前为止,我还没有使用collections.abs模块,但我想知道typing.Callable是否与collections.abc.Callable相关

在3.9之前,我会使用:

from typing import Callable

def my_function(argument_function: Callable) -> None:
现在我不确定了

具有不推荐使用的类型列表,其中不包括
Typing.Callable
,但包括
collections.abc.Callable
。 到目前为止,我还没有使用collections.abs模块,但我想知道
typing.Callable
是否与
collections.abc.Callable
相关,因此也不推荐使用
Callable
类型提示

我确实试过:

def my_function(argument_function: callable) -> None:
它是有效的

但现在这真的是正确的方法吗?
或者我仍然必须导入
类型。可调用的

否,
可调用的
不是类型。如果他们打算弃用类型。可调用的,他们会弃用类型。可调用的。政治公众人物特别是关于减少冗余的数量——他们不希望在两个不同的地方有两个可调用项,这意味着同一件事。“它是有效的。”你说的“它有效”是什么意思?比如说,
mypy
肯定不接受它,而且它肯定不是规范的一部分,这并不意味着什么。该代码将在您使用任何东西时运行,例如
def my\u函数(参数\u函数:sum)->无:
,即使
sum
不是有效的类型批注。如果您使用半官方静态类型检查器mypy检查上述内容,您将得到
错误:函数“builtins.callable”作为类型无效
。。。因为正如我前面所说,
callable
不是类型yes,您可能应该使用fll表单,
callable[[ArgTypes],ReturnType]