如何在 python 3.6 中输入 hinte 高阶函数?
How to type hinte higher-order functions in python 3.6?
在下面的代码中:
def b(i: int) -> int:
return i
def a(i: int, b: ?) -> int:
return i + b(i)
print(a(1, b))
我们如何键入提示作为 a
参数的函数 b: ?
?谢谢。
使用 typing.Callable
generic 表示您希望函数采用单个整数参数,returning 一个整数:
from typing import Callable
def a(i: int, b: Callable[[int], int]) -> int:
return i + b(i)
Callable[...]
有两个参数,第一个是参数类型列表,第二个是 return 类型。
在下面的代码中:
def b(i: int) -> int:
return i
def a(i: int, b: ?) -> int:
return i + b(i)
print(a(1, b))
我们如何键入提示作为 a
参数的函数 b: ?
?谢谢。
使用 typing.Callable
generic 表示您希望函数采用单个整数参数,returning 一个整数:
from typing import Callable
def a(i: int, b: Callable[[int], int]) -> int:
return i + b(i)
Callable[...]
有两个参数,第一个是参数类型列表,第二个是 return 类型。