在Python 3.7中将函数声明为返回类型

时间:2019-06-04 17:53:26

标签: python python-3.x

在python 3.7中,我可以声明函数和方法的类型。我知道这是可选的,我可能不会这样做。但是Python不是我的主要语言,此功能对我有很大帮助,并使我的代码更具可读性。

但是我找不到正确的闭包类型。你能帮我吗?

def external_function(closure_param: str) -> ???:
    def inner_function(param: str) -> bool:
        # some code
    return inner_function

我在内置软件包typingtypes中搜索正确的类型,但是找不到合适的类型。

1 个答案:

答案 0 :(得分:0)

Python有一个名为types的模块,其主要目的是存储buildins.py中不可用的内置类型。 FunctionType,您要返回的类型在types.py中。现在重写您的代码。

from types import FunctionType
def externalfunction(closure_param: str) -> FunctionType:
    def internalfunction(param: str) -> bool:
        # some code
        pass
    return internalfunction