python - python中是否需要字符串初始化?

标签 python string

给定这段代码:

  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

无论如何,初始化变量总是更好。

建议

  1. 不要使用str 作为变量名,它隐藏了内置的str功能。

  2. 你想做的事情,可以在一行中完成,就像这样

    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/

相关文章:

python - 数据框列是一个包含国家/地区的字符串,我想创建一个包含该国家/地区的新列

python - 定义类包含什么

python - 使用 Python 解析多行数据文件

python - 如何使用 pyqt4 更新进度条

C#中的字符串格式

java - 我正在编写一个程序来读取 mm/dd/yyyy 并陷入如何从字符串中提取 mm 并将其转换为 int 的问题

python - 安装和运行 PYDOE 的问题

python - 为什么在 IDLE 中运行此脚本时没有收到错误?

string - Swift nil 可选字符串 = 空字符串

swift - 二元运算符 '==' 不能应用于类型为 'UIImage?' 和 'String' 的操作数 - Swift 4