Python 为什么不是';我写的代码不能正常工作吗?
为什么第一行和第二行不同?使用此行进行第二次打印Python 为什么不是';我写的代码不能正常工作吗?,python,printing,atom-editor,Python,Printing,Atom Editor,为什么第一行和第二行不同?使用此行进行第二次打印 Total price is 36.0 ('Total price is ', 36.0) 由于打印默认值为sep=',因此,如果使用+,则在这种情况下连接文本时添加额外的空间(与printf的参数相同) sep就像一个传递到print的标志,告诉它传递给它的不同参数之间有哪些字符不同这可能需要在python 2上专门执行。python 2上的打印语法是 打印。。。 而不是在python 3中打印(…) 第一个是字符串连接。在第一行代码中
Total price is 36.0
('Total price is ', 36.0)
由于打印默认值为sep='
,因此,如果使用+
,则在这种情况下连接文本时添加额外的空间(与printf的参数相同)
sep
就像一个传递到print的标志,告诉它传递给它的不同参数之间有哪些字符不同这可能需要在python 2上专门执行。python 2上的打印语法是
打印。。。
而不是在python 3中打印(…)
第一个是字符串连接。在第一行代码中
“总价为”+“”+str(总价)
这将产生一个新的字符串“总价为”
,”
,以及str(总价)
。(即,结果字符串为“总价为36.0”
)。相当于
x=“总价为”+”+str(总价)
打印x
请注意,如果只在()
之间插入变量,它将不会成为元组,因为元组需要2个或更多变量。所以(x)=x
第二个
(“总价为“+”,总价)
不是字符串连接。您使用逗号分隔了两个变量。因此,您插入了两个变量并创建了一个元组,结果是('totalprice is',36.0)
为了明确起见,它相当于:
x=(“总价为“+”,总价)#创建一个元组
打印x
请注意,在Python3上,这两者将打印相同的输出。因为print更像是带有参数的函数print(…)
因此,它工作不正常您使用的是Python 2吗?因为
print(…)
是Python3语法。、
和+
第二行假定输出不是第二行print
生成的。
Total price is 36.0
('Total price is ', 36.0)
print("Total price is"+" ", total_price, sep='')