课后作业第46讲动手提0
class MyDes:def __init__(self, initval=None, name=None):
self.val = initval
self.name = name
def __get__(self, instance, owner):
print("正在获取变量:", self.name)
return self.val
def __set__(self, instance, value):
print("正在修改变量:", self.name)
self.val = value
def __delete__(self, instance):
print("正在删除变量:", self.name)
print("噢~这个变量没法删除~")
问题:
为什么没办法删除变量?
如果可以,该怎么实现呢 class Student:
def __init__(self, name = None, age = None):
self.name = name
self.age = age
def __get__(self):
return self.age if self.name else None
def __set__(self, name, age):
self.name = name
self.age = age
def __del__(self):
self.name = None
self.age = None
A = Student("小白", 87)
B = Student("小甲鱼", 99)
print("学生 A 年纪:", A.__get__())
print("学生 B 年纪:", B.__get__())
A.__set__("小黑", 18)
print(A.name, A.age)
B.__del__()
print(B.name, B.age)输出结果:学生 A 年纪: 87
学生 B 年纪: 99
小黑 18
None None
页:
[1]