gpt4 book ai didi

python - Python 3.9 是否更新了 how to type hint the function type?

转载 作者:行者123 更新时间:2023-12-05 06:02:31 25 4
gpt4 key购买 nike

在 3.9 之前我会使用这个:

from typing import Callable

def my_function(argument_function: Callable) -> None:

现在我不确定了。

PEP 585有一个已弃用的打字类型列表,包括 typing.Callable确实包括 collections.abc.Callable。到目前为止,我还没有使用 collections.abs 模块,但我想知道 typing.Callable 是否可能与 collections.abc.Callable 有关,因此使 Callable 类型提示也已弃用。

我试过这个:

def my_function(argument_function: callable) -> None:

而且有效。

但现在这真的是正确的方法吗?或者我还需要导入 typing.Callable 吗?

最佳答案

由于没有答案,我将 juanpa.arrivillaga 的评论提升为答案。引用上面的评论[原文如此]:

you probably should be using the fll form, Callable[[ArgTypes], ReturnType]

或者充实它:

from typing import Callable

# Let's say this was an example of argument_function and that's
# the signature that you expect in my_function

def foo(x: int) -> str:
return str(x)

def my_function(argument_function: Callable[[int], str]) -> None:
pass

关于python - Python 3.9 是否更新了 how to type hint the function type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66902082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com