ConfigParser.get_conf('A', 'a_value')
вызывается при создании A
, поэтому он терпит неудачу. В обычном классе это будет написано
class A:
def __init__(self):
self.con = ConfigParser.get_conf('A', 'a_value')
, а get_conf
будет вызываться только при создании экземпляра.
Мы можем сказать классу данных сделать то же самое, сделавс этим атрибутом field
с default_factory
:
ведение журнала импорта из config.config_parser import ConfigParser из классов данных import dataclass, поле
@dataclass
class A:
id_execution: int
flag: bool
log: str = logging.getLogger('log_handler')
con: str = field(default_factory=lambda: ConfigParser.get_conf('A', 'a_value'))
name: str = None
surname: str = None