如何在python 3.6中键入hinte高阶函数?

时间:2017-02-23 23:57:07

标签: python python-3.x type-hinting

在以下代码中:

def b(i: int) -> int:
    return i

def a(i: int, b: ?) -> int:
    return i + b(i)

print(a(1, b))

我们如何键入提示作为b: ?参数的函数a?谢谢。

1 个答案:

答案 0 :(得分:6)

使用typing.Callable generic表示您期望一个函数接受一个整数参数,返回一个整数:

from typing import Callable

def a(i: int, b: Callable[[int], int]) -> int:
    return i + b(i)

Callable[...]有两个参数,第一个是参数类型列表,第二个是返回类型。