如何通过函数注释指示函数需要函数作为参数或返回函数?

tem*_*ame 7 python annotations function python-3.x

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

def myfunction(name: str, age: int) -> str:
    return name + str(age) #usefulfunction
Run Code Online (Sandbox Code Playgroud)

但是,如果您正在编写一个期望函数作为参数的函数,或者返回一个函数呢?

我意识到你可以为注释编写任何有效的表达式,所以我可以将"function"写成一个字符串,但这是最好/唯一的方法吗?没有像内置类型那样的东西int/float/str/list/dict吗?我知道callable,但我想知道是否还有别的.

JBe*_*rdo 7

没有为注释定义样式.无论是使用callable,types.FunctionType或者一个字符串.

PS:callable在Python 3.0和3.1中不可用