相关疑难解决方法(0)

Python void返回类型注释

在python 3.x中,通常使用函数的返回类型注释,例如:

def foo() -> str:
    return "bar"
Run Code Online (Sandbox Code Playgroud)

"void"类型的正确注释是什么?

我正在考虑3种选择:

  1. def foo() -> None:
    • 不合逻辑的IMO,因为None不是一个类型,
  2. def foo() -> type(None):
    • 使用我所知道的最佳语法来获取NoneType,
  3. def foo():
    • 省略显式返回类型信息.

选项2.对我来说似乎最合乎逻辑,但我已经看到了一些1的实例.

python annotations void type-hinting

65
推荐指数
2
解决办法
2万
查看次数

"void"函数中的NoReturn与None - 在Python 3.6中键入注释

Python 3.6支持类型注释,如:

def foo() -> int:
    return 42
Run Code Online (Sandbox Code Playgroud)

但是当函数没有返回任何内容时,预期会使用什么?PEP484示例主要None用作返回类型,但也有包中的NoReturn类型typing.

所以,问题是什么是更好的使用和什么被认为是最佳实践:

def foo() -> None:
    #do smth
Run Code Online (Sandbox Code Playgroud)

要么

from typing import NoReturn

def foo() -> NoReturn:
    #do smth
Run Code Online (Sandbox Code Playgroud)

python annotations typing type-hinting python-3.6

7
推荐指数
1
解决办法
1493
查看次数

标签 统计

annotations ×2

python ×2

type-hinting ×2

python-3.6 ×1

typing ×1

void ×1