我想弄清楚爲什麼我的代碼不工作,當我試圖打印字符串的集合。在Python 2我通常做的:Python3,連接的字符串不工作
print ('test is') + ('this')
然而,在Python 3它prodcues以下錯誤:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
我已經試過「+」與「和」的工作,但是串沒有按更換那之後不會出來。有人可以向我解釋如何和爲什麼?
我想弄清楚爲什麼我的代碼不工作,當我試圖打印字符串的集合。在Python 2我通常做的:Python3,連接的字符串不工作
print ('test is') + ('this')
然而,在Python 3它prodcues以下錯誤:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
我已經試過「+」與「和」的工作,但是串沒有按更換那之後不會出來。有人可以向我解釋如何和爲什麼?
在Python 3中print
不是Python 2以外的語句,它是一個函數。此外,該函數返回一個NoneType
。
因此,當您在Python 3.x中鍵入print ('test is') + ('this')
時,您試圖將NoneType
添加到str
並因此出現錯誤。
正確的事情(我希望你想這樣做)是鍵入:
print('test is' + 'this')
如果你想打印兩個字符串在Python 3,那麼你需要包含他們都在一個支架上, print (('test is ')+('this'))
,因此它將全部打印爲一個字符串,而不是將print('test is ')
(nonetype)添加到('this')
(字符串)。
不會爲兩個字符串的每個部分添加空格嗎? – DuckyQuack
不需要''+'簡單地連接並且不添加任何它自己的空格。 – Ujjwal
使用','做。 –