|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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):
self.val=value
def __delete__(self,instance):
print('正删除变量:',self.name)
print('噢,这个变量没法删除')
class Test:
x = MyDes(3)
RESTART: C:/Users/admin/AppData/Local/Programs/Python/Python36-32/my programe/9.py
>>> class Test:
x=MyDes(10,'x')
>>> test=Test()
>>> y=test.x
正在获取变量: x #请问,在这里,test.x 触发 def __get__(self,instance,owner)后,为什么没显示 return self.val的结果:10
>>> y #请问,为什么再次调用y,仅显示 10,未显示 正在获取变量: x 。y=test.x 与 y 都是触发 __get__,为什么结果不同呢
10 |
|