您可以在python 3中使用function annotations来指示参数的类型和返回值,如下所示:
def myfunction(name: str, age: int) -> str:
return name + str(age) #usefulfunction
但是如果你编写的函数需要函数作为参数,或者返回一个函数呢?
我意识到你可以为注释编写任何有效的表达式,所以我可以将“function”写成一个字符串,但这是最好/唯一的方法吗?没有像内置类型int/float/str/list/dict
等那样的东西吗?我知道callable
,但我想知道是否还有其他事情。
答案 0 :(得分:7)
没有为注释定义样式。使用callable
,types.FunctionType
或字符串。
PS:{3.0}和3.1
中没有callable
答案 1 :(得分:4)
非常有趣......我从未听说过Python 3中的函数注释。解释器中的以下代码建议您可以使用function
代替str
和int
。只是我的两分钱。
>>> a = lambda x: x*2
>>> type(a)
<class 'function'>