Python 打印错误:+;的操作数类型不受支持:';非类型';和';str';

Python 打印错误:+;的操作数类型不受支持:';非类型';和';str';,python,python-3.4,Python,Python 3.4,我有两个字符串串联的代码,但它显示了一个错误 代码如下: Name = "Praveen kumar" print (Name)+"Good boy" 错误消息:不支持+:'NoneType'和'str'的操作数类型。 如何修复此问题?如果要打印名称,然后将字符串Good boy添加到其中,则需要将添加内容包含在函数调用中 print(Name)将返回None(这是一个不定义返回值的函数),这就是为什么会出现不支持的操作数…错误 下面的代码将实现您想要的 Name = "Praveen kum

我有两个字符串串联的代码,但它显示了一个错误

代码如下:

Name = "Praveen kumar"
print (Name)+"Good boy"
错误消息:
不支持+:'NoneType'和'str'的操作数类型。


如何修复此问题?

如果要打印
名称
,然后将字符串
Good boy
添加到其中,则需要将添加内容包含在函数调用中

print(Name)
将返回
None
(这是一个不定义返回值的函数),这就是为什么会出现
不支持的操作数…
错误

下面的代码将实现您想要的

Name = "Praveen kumar"
print(Name + "Good boy")

但是请注意,
名称
好孩子
之间没有空格。如果需要空格,则可以使用
print(Name,“Good boy”)
,因为默认分隔符是
sep='
,这意味着将在参数之间添加空格。

print
是一个函数,不返回任何值

所以当你写作的时候

print(Name) + "Good boy" 
实际上,您正在将函数调用的返回值(即None)添加到字符串中

你想要的可能是:

print(Name, "Good boy")

可能他们想要空白though@wim(名字,“好孩子”)给了我一个确定长度的结果。如果我想在这两者之间提供一些额外的空间,我该怎么办?@PraveenKumar在这种情况下,您可以传递关键字参数
print(Name,“Good boy”,sep=”)
。在这种情况下,我手动键入了3个空格,但您也可以执行
sep=''*3
print({}Good boy'.format(Name))
@BurhanKhalid您能解释一下吗?请查看文档。