Python中返回字符串为何变为长度为1的列表?
问题原因及解决方法
你的问题出在method()函数的返回语句上:
return[string1]
在Python中,方括号[]是定义列表的字面量语法,你把string1放在方括号里,相当于创建了一个仅包含该字符串的单元素列表,因此函数返回的是列表类型,而非你预期的字符串类型。
修正方法
去掉返回语句的方括号,直接返回字符串本身:
def method(): string1 = "hallo1 \nhallo2" print("string1 :") print(type(string1)) print(string1) return string1 # 移除方括号 string2=method() print("string2 :") print(type(string2)) print(string2)
修改后运行代码,string2的类型会变为str,输出内容和格式也会与string1完全一致,符合你的预期。
内容的提问来源于stack exchange,提问作者Polbeer91
相关产品推荐
相关产品推荐

