给定这段代码:
def double_char(str):
result = ""
for i in range(len(str)):
result += str[i] + str[i]
return result
result = ""
是字符串的初始化吗?如果是这样,是否有必要首先做?
最佳答案
当你做的时候
result += ...
基本意思是
result = result + ...
此时 Python 不知道 result
的值。所以,它会抛出这个错误
UnboundLocalError: local variable 'result' referenced before assignment
无论如何,初始化变量总是更好。
建议
不要使用
str
作为变量名,它隐藏了内置的str
功能。你想做的事情,可以在一行中完成,就像这样
return "".join(i*2 for i in input_string)
def double_char(input_string):
return "".join(i*2 for i in input_string)
print double_char("thefourtheye") # tthheeffoouurrtthheeyyee
关于python - python中是否需要字符串初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21299677/