#python #mypy
Вопрос:
У меня есть файл с именем debug.py
:
from typing import TypedDict
class T(TypedDict):
a: int
Q = T
x = Q(a=1)
когда я бегу
mypy debug.py
Я вижу
debug.py:9: error: "object" not callable
Found 1 error in 1 file (checked 1 source file)
Если я заменю x = Q(a=1)
на x = T(a=1)
, то жалоба исчезнет.
Использование reveal_type
шоу
debug.py:9: note: Revealed type is 'builtins.object'
debug.py:10: note: Revealed type is 'def () -> debug.T'
Почему это не Q
одно и T
то же?
Комментарии:
1. Это похоже на ошибку. Играя с ним, я обнаружил, что если вы это сделаете
foo = Q = T
, то все три будут определены как правильный тип.