不返回值的 Python 函数的签名中是否应该包含 `-> None` ?

Nol*_*rin 1 python mypy

当在 Python 中编写不返回值的类型化函数(如其他语言中的“void”)时,最好和/或按惯例将其标记如下吗?

def say_hello(name: str) -> None
    print(f"Hello, {name}.")
Run Code Online (Sandbox Code Playgroud)

或者,应该省略-> None?

def say_hello(name: str)
Run Code Online (Sandbox Code Playgroud)

我想我要问的是,-> None省略是否会导致返回类型未指定,或者无论如何都被认为是NoneType这样,因此没有必要?

use*_*ica 6

缺少注释的默认值是Any, not None如果您省略 return 注释,类型检查器会将您的函数视为返回Any

对于检查函数,参数和返回类型的默认注释是 Any。