杨瑾瑜 发表于 2020-1-8 04:28:11

046描述符第1、2题的细节问题

问题一:(t1)
这段代码中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
将with open(...) ...f: 放在 self.val = value前面,也就是先保存了文件,再修改了值,为什么在文件中显示的依然是修改后的属性和对应的值?

问题二:(t2)
不太能理解在__delete__部分,为何要MyDes.saved.remove(self.name),而不直接 del self.name 呢?直接 del self.name 会有什么后果?

lkj11223 发表于 2020-5-13 22:59:11

我猜会报错,你要删除的是列表的里面的内容,而不是MyDes类的属性
页: [1]
查看完整版本: 046描述符第1、2题的细节问题