python 描述符
from weakref import WeakValueDictionaryclass Grade(object):def __init__(self):self.values = WeakValueDictionary()def __get__(self, instance, owner):if instance is None:return selfreturn self.values.get(instance, 0)def __set__(self, instance, value):self.values[instance] = valueclass Exam(object):math_grade = Grade()writing_grade = Grade()science_grade = Grade()first_exam = Exam() first_exam.math_grade = 10 second_exam = Exam() second_exam.math_grade = 20 print(first_exam.math_grade) print(second_exam.math_grade)
Please call me JiangYouDang!
