如何为返回函数的函数添加类型提示?

9

假设我有以下代码:

def validator(blacklist: list=['heck', 'muffins']):

    def f(questionable_word: str) -> bool:
        return questionable_word in blacklist

    return f

validator_british = validator(['pish'])
validator_british('pish')  # returns True
validator_british('heck')  # returns False

我想知道如何对validator函数进行类型提示,以指示该函数返回一个函数,特别是这个函数接受一个str并返回一个bool对象。 f函数的签名为:

def f(questionable_word: str) -> bool

validator中,???应该填什么?

validator(blacklist: list=['heck', 'muffins']) -> ???:
1个回答

11

typing.Callable 是您想要的内容。

validator(blacklist: list=['heck', 'muffins']) -> Callable[[str], bool]:

太棒了!谢谢! - Nathaniel Ford

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接