Python 使用其他模块中的特定方法扩展类

Python 使用其他模块中的特定方法扩展类,python,python-3.x,Python,Python 3.x,我试图用“日志记录”模块中包含的一些输出函数扩展我的自定义类“Test”。我有一个名为“打印”的自定义日志记录级别,这会给我带来问题。我尝试了多种方法,每种方法都有一些缺点。有没有其他方法比我错过的更好 我希望能够在对象上使用vars(),并且只打印出不属于日志记录方法的属性 此方法有效,但打印出“print”方法(我不想要) 这种方法也能起作用,但看起来不太像蟒蛇。由于我将对许多函数执行此操作,因此它将占用大量空间,而且我在传递可选参数时也遇到了问题 #Test.py logger = log

我试图用“日志记录”模块中包含的一些输出函数扩展我的自定义类“Test”。我有一个名为“打印”的自定义日志记录级别,这会给我带来问题。我尝试了多种方法,每种方法都有一些缺点。有没有其他方法比我错过的更好

我希望能够在对象上使用vars(),并且只打印出不属于日志记录方法的属性

此方法有效,但打印出“print”方法(我不想要)

这种方法也能起作用,但看起来不太像蟒蛇。由于我将对许多函数执行此操作,因此它将占用大量空间,而且我在传递可选参数时也遇到了问题

#Test.py
logger = logging.getLogger('console')

class Test:
   def __init__(self):
       self._some_obj = True

  def print(msg):
      logger.print(msg)

#main.py
vars(Test()) # Prints {'_some_obj':True}

初始化中的
def
在哪里(Woops.错过了。修复了为什么不继承
logging.Logger
类?
#Test.py
logger = logging.getLogger('console')

class Test:
   print = logger.print # Overwrites default print
   def __init__(self):
       self._some_obj = True

#main.py
vars(Test()) # Prints {'_some_obj':True}
#Test.py
logger = logging.getLogger('console')

class Test:
   def __init__(self):
       self._some_obj = True

  def print(msg):
      logger.print(msg)

#main.py
vars(Test()) # Prints {'_some_obj':True}