Код: Выделить всё
impl Trait for Struct where T: Bound
Моя идея сделать это в Python заключается в следующем:
from dataclasses import dataclass
@dataclass
class A[T]:
data: T
def m[C: int](self: "A[C]") -> int:
return self.data * 2
a1 = A(1)
a2 = A("hi")
a1.m()
a2.m()
Pylance правильно помечает a2.m () в качестве ошибки, так что это, по -видимому, работает. Это лучшее, что я могу сделать в Python? В частности, я не в восторге от аннотации «a [c]» , поскольку это может вызвать проблемы при подтинге .
Подробнее здесь: https://stackoverflow.com/questions/795 ... -in-method