Python泛型类型T的子类列表

Python subclass list of generic type T

我正在尝试对通用类型 T 进行子类化 list。现在,我可以通过 Genericlist 的多重继承来实现我想要的效果,如下所示。有没有更好的方法来实现同样的目标?

from typing import TypeVar, Generic

T = TypeVar('T')

class SuperList(Generic[T], list):
    def __init__(self, *args: T):
        super().__init__(args)
 
    def really_awesome_method(self):
        ...

class A(SuperList[int]):
    pass

class B(SuperList[str]):
    pass

我认为它是 3.9 中的新功能,但您可以为许多内置容器下标以创建泛型类型别名。所以你应该能够做到:

class SuperList(list[T]):
    def __init__(self, *args: T):
        super().__init__(args)

class A(SuperList[int]):
    pass

https://docs.python.org/3/library/stdtypes.html#types-genericalias