3
我在Python的輸入系統和__slots__
之間發生衝突。這是一個小的可重現的例子。__slots__與泛型類中的類變量衝突
from typing import TypeVar, Generic, Sequence
T = TypeVar("T")
class TestGeneric(Sequence, Generic[T]):
__slots__ = ("test",)
def __init__(self, test: T):
self.test = [test]
def __iter__(self):
return iter(self.test)
def __len__(self):
return len(self.test)
def __contains__(self, item):
return item in self.test
def __getitem__(self, _):
return self.test[0]
現在每當我嘗試指定內容類型時,例如
V = TestGeneric[int]
我得到
ValueError: 'test' in __slots__ conflicts with class variable
我在課堂上使用Generics
無縫隙很多,所以我覺得這個錯誤已被鏈接到__slots__
。此外,如果您刪除__slots__
我認爲這是一個錯誤,但想確定。我已經提交了一份報告。 –