|
发表于 2020-6-17 12:08:02
|
显示全部楼层
小甲鱼给出的方法我明白,但是假如我现在要给一个 test.z赋值这个就不能完成了
还是可以完成的呀,是不是你没有实例化直接赋值了?
- import time
- class Record:
- def __init__(self, initval=None, name=None):
- self.val = initval
- self.name = name
- self.filename = "record.txt"
- def __get__(self, instance, owner):
- with open(self.filename, 'a', encoding='utf-8') as f:
- f.write("%s 变量于北京时间 %s 被读取,%s = %s\n" % \
- (self.name, time.ctime(), self.name, str(self.val)))
- return self.val
- def __set__(self, instance, value):
- filename = "%s_record.txt" % self.name
- with open(self.filename, 'a', encoding='utf-8') as f:
- f.write("%s 变量于北京时间 %s 被修改, %s = %s\n" % \
- (self.name, time.ctime(), self.name, str(value)))
- self.val = value
- test = Record()
- test.z = 100
- print(test.z)
复制代码 |
|