from typing import Generic, TypeAlias, TypeVar
try:
import somepackage
use_complex = True
except:
use_complex = False
if use_complex:
T = TypeVar("T", complex, float, str)
else:
T = TypeVar("T", float, str)
z: TypeAlias = tuple[T, ...] | list[T]
Я получаю: Переменная не разрешена в выражении типа
Есть ли способ сообщить средству проверки типов, что use_complex является константой и следовательно это либо одна ветвь, либо другая, T определяется только один раз и не меняется?
if use_complex: T = TypeVar("T", complex, float, str) else: T = TypeVar("T", float, str)
z: TypeAlias = tuple[T, ...] | list[T] [/code] Я получаю: Переменная не разрешена в выражении типа Есть ли способ сообщить средству проверки типов, что use_complex является константой и следовательно это либо одна ветвь, либо другая, T определяется только один раз и не меняется?