SimpleNamespace 是否有类型提示?

amk*_*a00 8 python type-hinting

假设我正在定义一个返回types.SimpleNamespace 的函数。我想输入提示结果:

from types import SimpleNamespace

def func() -> SimpleNamespace(x: int, y: str):  # SyntaxError! What should be used instead?
    return SimpleNamespace(x=3, y='abc')
Run Code Online (Sandbox Code Playgroud)

请注意,通常用作数据成员命名SimpleNamespace的替代方法。tuple对于元组,存在相应的类型提示:

from typing import Tuple

def func() -> Tuple[int, str]:  # OK
    return 3, 'abc'
Run Code Online (Sandbox Code Playgroud)

顺便说一句,今天我使用以下内容作为文档:

from types import SimpleNamespace

def func() -> SimpleNamespace(x=int, y=str):  # Seems to work fine
    return SimpleNamespace(x=3, y='abc')
Run Code Online (Sandbox Code Playgroud)

但这不是标准的(因此类型检查器不支持它),并且可能不是正确的Python(或者是吗?)。