python-3.x - 如何定义可订阅的 `NewType`,例如 `List[int]`

标签 python-3.x typing

我已经尝试过像 NewType['SomeType', (SomeClass, typing.Container)] 这样的东西,但它不起作用。

假设我有一个非常简单的类,如下所示。

class A:
    def __init__(self, a):
        self.a = a

现在我想注释一个返回此类型的函数作为 NewA[int],即使用 __getitem__,我显然没有在 A 中定义它 上面,但是它增加了一个额外的描述层。这可能吗?如果不是,我是否有理由不尝试做这样的事情?

最佳答案

答案是使用 Generic,如标准库的 typing 文档中所定义。

关于python-3.x - 如何定义可订阅的 `NewType`,例如 `List[int]`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46003103/

相关文章:

python - 是否有任何内置的 lambda for is notNone in python

typescript - 是否有充分的理由在 typescript 项目中将编译器选项 "declaration"设置为 true

python 3轮函数逼近

python - 无法在 M1 Mac 上使用 pip3 安装 psycopg2

python - 如何强制用户选择至少一个复选按钮

python - 如何返回垂直对齐的文本(python3)

list - Scala 列表错误

python-3.x - python : Is it possible to do the same using reduce()?

python - 反射(reflection)Custom Generic Class方法中的TypeVar

python - 数据类定义中的引用类类型