我正在方法中创建一个字符串并返回它。但我返回的是一个列表而不是字符串。
def method():
string1 = "hallo1 \nhallo2"
print("string1 :")
print(type(string1))
print(string1)
return[string1]
string2=method()
print("string2 :")
print(type(string2))
print(string2)
我怀疑 string1 和 string2 都是字符串类型并且相同,但我得到以下输出:
string1 :
<class 'str'>
hallo1
hallo2
string2 :
<class 'list'>
['hallo1 \nhallo2']
怀疑/想要的输出:
string1 :
<class 'str'>
hallo1
hallo2
string2 :
<class 'str'>
hallo1
hallo2
我确实有编码经验,但我已经 10 年没有上过学了,从那以后就没有写过太多代码,而且我也没有真正的 Python 经验,所以我很可能错过了一些简单/愚蠢的东西。
我的谷歌技能让我一无所获,所以我希望这里有人可以阐明正在发生的事情。
正如您在代码中编写的评论中所提到的
return [string1]
list
,其中单个元素 string1
作为 method
的返回值。
因此,它的类型是
list
而不是 string
如果您在列表中放入了第二个项目,则打印输出将有更大的差异以突出显示这种差异。