DAY 29 复习日:类的装饰器


def class_logger(cls):
    original_init = cls.__init__

    def new_init(self, *args, **kwargs):
        print(f"[LOG] 实例化对象: {cls.__name__}")
        original_init(self, *args, **kwargs)  

    cls.__init__ = new_init

    def log_message(self, message):
        print(f"[LOG] {message}")

    cls.log = log_message
    return cls

@class_logger
class SimplePrinter:
    def __init__(self, name):
        self.name = name 

    def print_text(self, text):
        """简单打印方法"""
        print(f"{self.name}: {text}")


printer = SimplePrinter("Alice") 
printer.print_text("Hello, World!")
printer.log("这是装饰器添加的日志方法") 

多码代码,也能慢慢看懂别人的代码了,清晰了经典机器学习的流程,也懂了pipeline。

你可能感兴趣的:(python,开发语言)