我有一些全局类,这意味着我可以在其他任何类上使用它们。
实际上我是这样的:
class Log():
def __init__(self):
self.logs = []
def log(self, msg):
self.logs.append(msg)
class A():
def __init__(self, logger):
self.logger = logger
class B():
def __init__(self, logger):
self.logger = logger
class MyMain():
def __init__(self):
self.logger = Log()
self.a = A(self.logger)
self.b = B(self.logger)
我想知道在所有子模块上是否有一种更优雅的方法来使用类似的类。.我在这个问题上进行了大量搜索,但是我对答案感到困惑。 对此有最佳实践吗??
谢谢, 托尼。
答案 0 :(得分:0)
感谢您的回答。
您关于global var的回答使我得出以下结果。 由于它将在多个模块中使用,因此我将其用作内置类。
这对我有用:
class Log():
def __init__(self):
self.logs = []
def log(self, msg):
self.logs.append(msg)
class A():
def __init__(self):
sc.log("test")
class MyMain():
def __init__(self):
builtins.sc = Log()
self.a = A()
谢谢。