from typing import TypeVar, Union
class A: pass
class B: pass
T = TypeVar("T", A, B)
T = TypeVar("T", bound=Union[A, B])
< /code>
Я считаю, что в Python 3.12 это разница между этими двумя границами < /p>
class Foo[T: (A, B)]: ...
class Foo[T: A | B]: ...
< /code>
Вот пример чего -то, чего я не получаю: это проходит проверку типа ... < /p>
T = TypeVar("T", bound=Union[A, B])
class AA(A):
pass
class X(Generic[T]):
pass
class XA(X[A]):
pass
class XAA(X[AA]):
pass
< /code>
...but с t = typevar ("t", a, b) < /code>, он не работает с < /p>
Ошибка: значение переменной типа «t» из «x» не может быть "aa" < /p>
< /blockquote>
Связанный : Этот вопрос о разнице между Union [a, b]
В чем разница между следующими двумя типвар s?[code]from typing import TypeVar, Union
class A: pass class B: pass
T = TypeVar("T", A, B) T = TypeVar("T", bound=Union[A, B]) < /code> Я считаю, что в Python 3.12 это разница между этими двумя границами < /p> class Foo[T: (A, B)]: ... class Foo[T: A | B]: ... < /code>
Вот пример чего -то, чего я не получаю: это проходит проверку типа ... < /p> T = TypeVar("T", bound=Union[A, B])
class AA(A): pass
class X(Generic[T]): pass
class XA(X[A]): pass
class XAA(X[AA]): pass < /code> ...but с t = typevar ("t", a, b) < /code>, он не работает с < /p>
Ошибка: значение переменной типа «t» из «x» не может быть "aa" < /p> < /blockquote>
Связанный : Этот вопрос о разнице между Union [a, b] [/code] и typevar ("t", a, b) .
У меня есть следующий код Django с аннотацией типа:
при вводе import Необязательно, Тип, TypeVar из моделей импорта django.db T = TypeVar('T',bound=models.Model) def get_obj_or_none (модель: Type , obj_id: int) -> Необязательно : пытаться: вернуть...
Итак, я реализую алгоритм поиска для головоломки на 8, и, как любой хороший алгоритм поиска, он работает параллельно. Я сохраняю результаты каждого запуска внутри очереди, в конце я проверяю единственное значение, хранящееся внутри очереди, ведь это...