在python 3.7中,我可以声明函数和方法的类型。我知道这是可选的,我可能不会这样做。但是Python不是我的主要语言,此功能对我有很大帮助,并使我的代码更具可读性。
但是我找不到正确的闭包类型。你能帮我吗?
def external_function(closure_param: str) -> ???:
def inner_function(param: str) -> bool:
# some code
return inner_function
我在内置软件包typing
和types
中搜索正确的类型,但是找不到合适的类型。
答案 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