这是我的第一篇文章,如果有人可以向我解释为什么我们需要以下Python代码中的result = ""
部分,我将很高兴。
这是一段基本的代码,可以将诸如“万维网”之类的短语转换为WWW。
def initials(phrase):
words = phrase.split()
result = ""
for word in words:
result += word[0].upper()
return result
答案 0 :(得分:3)
+=
中的 result += word[0].upper()
表示您正在尝试向现有字符串添加字符,如果未预先定义该现有字符串,则会引发错误。
也可以这样写:
result = result + word[0].upper()
也很好奇,请尝试在注释掉该部分的情况下运行代码。亲身体验时会更好。
答案 1 :(得分:2)
它充当字符串的临时容器。 这是一个没有结果变量的版本。
def initials(phrase):
words = phrase.split()
return "".join([word[0].upper() for word in words])
答案 2 :(得分:2)
result
需要初始化,因为您需要在循环的每次迭代中添加一些内容。考虑一下这一点:
for word in words:
result += word[0].upper()
+=
运算符取result
,添加一些内容,然后将其分配回result
。因此,在您的示例中,每个循环正在发生的事情是:
# Before loop 1
result = ""
# After loop 1
result = "W"
# After loop 2
result = "WW"
如果不初始化result
,则+=
运算符在第一次迭代中就很有意义。