Mag*_*Dev 3 python lambda annotations python-3.x python-3.6
我非常喜欢在Python中使用类型注释的想法。我知道如何通过以下简单示例进行操作:
def foo(bar : int, lol : int) -> int:
return bar*lol
Run Code Online (Sandbox Code Playgroud)
但是当我的函数要返回lambda时,我不知道如何执行此操作:
def line(slope : float, b : float) -> lambda:
return lambda x: slope*x + b
Run Code Online (Sandbox Code Playgroud)
这个例子产生了一个错误,我想知道这个返回类型应该使用什么关键字。
也许这似乎没什么用,但是我想对代码进行一致的注释,而无法使用这些类型的函数这样做确实让我感到困扰。
提前致谢。
您可以使用Callable键入提示返回:
from typing import Callable
def line(slope : float, b : float) -> Callable[[float], float]:
return lambda x: slope*x + b
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
774 次 |
| 最近记录: |