MST

星途 面试题库

面试题:Python类装饰器在元编程中的基础应用

请编写一个Python类装饰器,用于统计被装饰类的实例化次数,并在每次实例化时打印当前实例化的次数。
30.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def instance_counter(cls):
    cls.instance_count = 0

    def wrapper(*args, **kwargs):
        cls.instance_count += 1
        print(f"当前实例化次数: {cls.instance_count}")
        return cls(*args, **kwargs)

    return wrapper


@instance_counter
class MyClass:
    pass


my_obj1 = MyClass()
my_obj2 = MyClass()