Python泛型类型T的子类列表
Python subclass list of generic type T
我正在尝试对通用类型 T
进行子类化 list
。现在,我可以通过 Generic
和 list
的多重继承来实现我想要的效果,如下所示。有没有更好的方法来实现同样的目标?
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
我正在尝试对通用类型 T
进行子类化 list
。现在,我可以通过 Generic
和 list
的多重继承来实现我想要的效果,如下所示。有没有更好的方法来实现同样的目标?
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