|
6鱼币
本帖最后由 清风慕竹99 于 2020-1-19 19:19 编辑
以下是小甲鱼的给的答案我有几个地方不懂
1.第11行为什么在%后面要加\
2.我运行后找不到这个文本
- 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
复制代码
本帖最后由 lixiangyv 于 2020-1-19 19:58 编辑
你的第一个问题:因为后面有非常多的代码,如果在一行上写的话,
你要看这行其他代码就很麻烦,代码的可读性就降低了,
‘\’ 就是用来让一行非常长的代码,分成两行,
这样维护人员或者是你以后来看代码来改代码的时候,
就很方便了。
所以,小甲鱼在 ‘%’ 后面加了一个 ‘\’。
你的第二个问题:因为你写了这个类,但并没有使用它,只是创建了这个类,
没使用就肯定没有出现文件了。
应该写成的代码:
- 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
- class C:
- def __init__(self):
- self.x = None
- def getX(self):
- return self.x
- def setX(self, value):
- self.x = value
- r = Record('x', 'val')
- c = C()
- c.r = 'y'
- c.r
复制代码
这样你就会发现,就有了这个文件
|
最佳答案
查看完整内容
你的第一个问题:因为后面有非常多的代码,如果在一行上写的话,
你要看这行其他代码就很麻烦,代码的可读性就降低了,
‘\’ 就是用来让一行非常长的代码,分成两行,
这样维护人员或者是你以后来看代码来改代码的时候,
就很方便了。
所以,小甲鱼在 ‘%’ 后面加了一个 ‘\’。
你的第二个问题:因为你写了这个类,但并没有使用它,只是创建了这个类,
没使用就肯定没有出现文件了。
应该写成的代 ...
|