请看下面的代码
class MyStudent:
def __init__(self, student_id, student_name):
self._student_id = student_id
self._student_name = student_name
def get_student_id(self):
return self._student_id
def get_student_name(self):
return self._student_name
student1 = MyStudent(student_id=123, student_name="ABC")
student1.get_student_id()
student1.get_student_name()
我想运行一些代码,例如每当student1.get_student_id()
或被student1.get_student_name()
调用时(或在访问get () 时将学生添加到数据库中。如果我使用了错误的描述符,请纠正我)。我必须通过装饰器来做到这一点,只适用于下面的多个类
@save_student_to_db
class MyStudent:......
使用装饰器如何实现这一点?我需要对可以有任何方法的多个类使用单个装饰器。每当调用任何类的任何方法(除了以 _ 或 __ 开头的方法)时,装饰器都应将数据保存到 DB