我正在试图弄清楚为什么我的代码在我尝试打印字符串集合时不起作用。在Python 2中,我通常可以这样做:
print ('test is') + ('this')
但是,在Python 3中,它会产生以下错误:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
我试过用'和'代替'+',但是后面的字符串没有出来。有人可以向我解释如何以及为什么?
答案 0 :(得分:4)
在Python 3中,print
不是一个与Python 2不同的语句。它是一个函数。此外,该函数返回NoneType
。
因此,当您在Python 3.x中键入print ('test is') + ('this')
时,您试图将NoneType
添加到str
,从而导致错误。
正确的事情(我希望你这样做)是输入:
print('test is' + 'this')
答案 1 :(得分:0)
如果你想在Python 3中打印两个字符串,那么你需要将它们全部放在一个括号print (('test is ')+('this'))
中,这样它就可以作为一个字符串打印而不是添加print('test is ')
(非类型)到('this')
(字符串)。