Python 3:可选类型:我需要为True指定类型吗?

时间:2017-02-02 08:03:34

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

例如:

def foo(x: bool=True)

也许够了:def foo(x=True)

PyCharm仍然可以理解该类型是bool

1 个答案:

答案 0 :(得分:1)

在将类型提示添加到Python语言之前,IDE已根据默认值等内容推断出代码库中的类型。

因此,PyCharm可以从参数True的默认值x推断x应该是布尔值。但这并不意味着这是一个实际的类型提示。许多支持类型提示检查的工具都不使用类型推断。

如果您希望代码与其他类型的提示检查程序(如mypy)进行互操作,则需要明确说明类型:

def foo(x: bool=True):
    # ...