如何将变量的类型提示指定为 _函数类型_?没有 typing.Function
,我在相关的 PEP PEP 483 中找不到任何内容。
原文由 Jon 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将变量的类型提示指定为 _函数类型_?没有 typing.Function
,我在相关的 PEP PEP 483 中找不到任何内容。
原文由 Jon 发布,翻译遵循 CC BY-SA 4.0 许可协议
另一个需要注意的有趣点是,您可以使用内置函数 type()
获取内置函数的类型并使用它。所以你可以
def f(my_function: type(abs)) -> int:
return my_function(100)
或者那种形式的东西
原文由 Hallsville3 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
正如 @jonrsharpe 在评论中指出的那样,这可以通过
typing.Callable
来完成:注意:
Callable
本身等同于Callable[..., Any]
。这样的Callable
接受 任意 数量和类型的参数(...
)并返回 任意 类型的值(Any
)。如果这太不受约束,还可以指定输入参数列表的类型和返回类型。例如,给定:
对应的注解是:
也就是说,参数在外部订阅中被下标,返回类型作为外部订阅中的第二个元素。一般来说: