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

Python 3: optional types: I need to specify type for True?

例如:

def foo(x: bool=True)

可能够了:def foo(x=True)?

PyCharm还是可以理解为type是bool.

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

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

如果您希望您的代码与其他类型提示检查器互操作,例如 mypy,您需要明确说明类型:

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