class debug_meta(type):
def __new__(cls, name, bases, namespace):
print(f"Creating class {name}")
return super().__new__(cls, name, bases, namespace)
class MyClass(metaclass=debug_meta):
passclass DynamicProxy:
def __getattr__(self, name):
if name.startswith('get_'):
return lambda: f"Auto-generated {name[4:]}"
raise AttributeError(name)import ast
class CodeTransformer(ast.NodeTransformer):
def visit_FunctionDef(self, node):
# 为所有函数添加日志语句
log_stmt = ast.parse("print(f'Calling {node.name}')").body[0]
node.body.insert(0, log_stmt)
return node