Код: Выделить всё
class State:
attr1: int
attr2: Tensor
attr3: str
# ... etc
class Logger:
def __init__(self, log_attr1: bool, log_attr2: bool, log_attr3: bool)
self.log_attr1 = log_attr1
self.log_attr2 = log_attr2
self.log_attr3 = log_attr3
def load_stateful_class(self, stateful_class: State):
self.stateful_class = stateful_class
def log(self):
if self.log_attr1:
# do something
if self.log_attr2:
# do something
if self.log_attr3:
# do something
class StatefulClass(State):
def __init__(self, logger: Logger):
self.logger = logger
self.logger.load_stateful_class(self)
def __call__(self):
for i in range(10):
# do something
self.logger.log()
Я буду вызывать stateful_class() много раз и хочу, чтобы процесс был максимально быстрым возможно.
Кроме того, существуют ли лучшие решения? Я думаю, что другие люди уже сталкивались с чем-то подобным.
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-a-logger
Мобильная версия