Я хочу установить тип в поле класса динамически (когда класс определен).
Я имею в виду - я определяю тип в определении класса и ожидаю, что этот тип будет использоваться для поля (кодобразец должен уточнить)
Есть ли способ сделать это с текущей системой набора текста?
from typing import Type
class FooV1:
def do_sth(self):
print('something was done')
class FooV2:
def do_sth(self):
print('something else was done')
class Bar:
def __init__(self):
self.foo = self.foo_cls()
class BarV1(Bar):
foo_cls: Type = FooV1
def blabla(self):
self.foo.do_sth()
self.foo = 'asdf' # Mypy should complain about it
bar = BarV1()
bar.blabla()
Было бы здорово, если бы, например, VSCode мог видеть это, но я думаю, MyPy лучшийпроверьте, является ли это действительным.