我非常喜欢在Python中使用类型注释的想法。我知道如何通过以下简单示例进行操作:
def foo(bar : int, lol : int) -> int:
return bar*lol
但是当我的函数要返回lambda时,我不知道该怎么做:
def line(slope : float, b : float) -> lambda:
return lambda x: slope*x + b
此示例生成一个错误,我想知道此返回类型应使用什么关键字。
也许这似乎没什么用,但是我想对代码进行一致的注释,而使用此类函数却无法这样做,确实让我感到困扰。
先谢谢了。
答案 0 :(得分:5)
您可以使用Callable键入提示返回值:
from typing import Callable
def line(slope : float, b : float) -> Callable[[float], float]:
return lambda x: slope*x + b