Отложенная проверка аннотаци
Неоднократно у меня возникала проблема в очерёдности положения классов в модуле при аннотации типа в методах. Самый простой пример: class A: def __init__(self): pass def allocate(self, line: OrderLine) -str: return None class OrderLine: pass a = A() a.allocate(OrderLine()) при запуске получим Traceback (most recent call last): File "C:\PKM74_dev_76\tests\ex_future.py", line 2, in <module> class A: File "C:\PKM74_dev_76\tests\ex_future.py", line 6, in A def allocate(self, line: OrderLine) -> str: NameError: name 'OrderLine' is not defined Процесс завершается с кодом выхода из 1 Вроде как надо перетащить OrderLine выше A . Есть способ проще, прописать в начале файла from __future__ import annotations получится так from __future__ import annotations class A: def __init__(self): pass def allocate(self, line: OrderLine) -> str: return None class OrderLine: pass a = A() a.al...