如何通过函数注释来指示函数需要一个函数作为参数,或者返回一个函数?

问题描述 投票:0回答:2

您可以在Python 3中使用函数注释来指示参数和返回值的类型,如下所示:

def myfunction(name: str, age: int) -> str:
    return name + str(age) #usefulfunction

但是,如果您正在编写一个需要函数作为参数或返回函数的函数怎么办?

我意识到您可以为注释编写任何有效的表达式,因此我可以将“函数”编写为字符串,但这是最好/唯一的方法吗?有没有像内置类型

int/float/str/list/dict
之类的东西?我知道
callable
,但我想知道是否还有其他事情。

python function python-typing
2个回答
8
投票

没有为注释定义样式。使用

callable
types.FunctionType
或字符串。

PS:

callable
在Python 3.0和3.1中不可用


4
投票

非常有趣...我什至从未听说过 Python 3 中的函数注释。解释器中的以下代码建议您可以使用

function
代替
str
int
。 只是我的两分钱。

>>> a = lambda x: x*2
>>> type(a)
<class 'function'>
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.