|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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
复制代码
|
|