Python 这是坏习惯吗?
在这段代码中,如果我匹配行上的给定模式,我将用一个自建字符串替换该行。这真的是好的做法吗?它看起来有点像重用变量行进行输出,实际上它包含当前读取行的内容Python 这是坏习惯吗?,python,python-2.4,Python,Python 2.4,在这段代码中,如果我匹配行上的给定模式,我将用一个自建字符串替换该行。这真的是好的做法吗?它看起来有点像重用变量行进行输出,实际上它包含当前读取行的内容 for line in lines: match = re.search(r'@Table\(name = "(.*)"\)', line) if match: line = "".join(['@Table (name = "', prefix, match.group(1)[:max_len], '")', '\n'])
for line in lines:
match = re.search(r'@Table\(name = "(.*)"\)', line)
if match:
line = "".join(['@Table (name = "', prefix, match.group(1)[:max_len], '")', '\n'])
f.write(line)
f.close()
我要说的是,你的代码的意图是明确的,代码是简短和简单的,所以它没有任何错误。如果重复使用变量仍然困扰您,您可以执行以下操作:
for line in lines:
match = re.search(r'@Table\(name = "(.*)"\)', line)
if match:
output_line = "".join(['@Table (name = "', prefix, match.group(1)[:max_len], '")', '\n'])
else:
output_line = line
f.write(output_line)
f.close()
这样,每个变量名始终准确地描述其内容。我要说的是,代码中的意图是明确的,代码又短又简单,因此没有任何错误。如果重复使用变量仍然困扰您,您可以执行以下操作:
for line in lines:
match = re.search(r'@Table\(name = "(.*)"\)', line)
if match:
output_line = "".join(['@Table (name = "', prefix, match.group(1)[:max_len], '")', '\n'])
else:
output_line = line
f.write(output_line)
f.close()
这样,每个变量名始终准确地描述其内容。使用一个空格是不好的做法,是的。@Johnsyweb Sry改变了这一点。谢谢你的评论。这是一个模糊的问题标题。更具体的东西会更容易找到。使用一个空格是不好的做法,是的。@Johnsyweb Sry改变了这一点。谢谢你的评论。这是一个模糊的问题标题。更具体的东西会更容易找到。