История изменений
Исправление cvprog, (текущая версия) :
я тоже не видел, пока не нарвался )))
m1
from dataclasses import dataclass
@dataclass
class A:
x: int
@dataclass
class B:
y: str
if __name__ == '__main__':
from m2 import data_save
a = A(x=1)
data_save(a)
m2
from m1 import A, B
def data_save(obj) -> None:
if isinstance(obj, A):
print('save A')
elif isinstance(obj, B):
print('save B')
else:
print('тип не опознан')
запускаем m1
тип не опознан
P.S. вариант починки этого учебного примера
if __name__ == '__main__':
from m1 import A, B
from m2 import data_save
a = A(x=1)
data_save(a)
а в проекте в целом строго из одной точки подключать все модули, что тоже может быть не простой задачей
Исправление cvprog, :
я тоже не видел, пока не нарвался )))
m1
from dataclasses import dataclass
@dataclass
class A:
x: int
@dataclass
class B:
y: str
if __name__ == '__main__':
from m2 import data_save
a = A(x=1)
data_save(a)
m2
from m1 import A, B
def data_save(obj) -> None:
if isinstance(obj, A):
print('save A')
elif isinstance(obj, B):
print('save B')
else:
print('тип не опознан')
запускаем m1
тип не опознан
P.S. вариант починки этого учебного примера
Исходная версия cvprog, :
я тоже не видел, пока не нарвался )))
m1
from dataclasses import dataclass
@dataclass
class A:
x: int
@dataclass
class B:
y: str
if __name__ == '__main__':
from m2 import data_save
a = A(x=1)
data_save(a)
m2
from m1 import A, B
def data_save(obj) -> None:
if isinstance(obj, A):
print('save A')
elif isinstance(obj, B):
print('save B')
else:
print('тип не опознан')
запускаем m1
тип не опознан