为什么下面的代码显示输出“('jen','livesin','Dhaka')”而不是'jen livesindhaka'?

2024-06-26 02:49:44 发布

您现在位置:Python中文网/ 问答频道 /正文

print(name, 'lives in', location)

为什么会显示输出:

('jen', 'lives in', 'Dhaka')   

而不是

jen lives in dhaka

??为什么用逗号&;是否不省略倒逗号?为什么输出中有括号


Tags: nameinlocation括号省略ampprint逗号
2条回答

在Python2.7中,print是一条语句,不需要括号。这意味着

print(name, 'lives in', location)

相当于

x = (name, 'lives in', location)
print x

x是一个元组。打印元组时,括号可见。如果元组包含字符串,则该字符串的引号可见

如果您不想让print语句打印一个元组,就不要给它一个元组。去掉括号

>>> print name, "lives in", location
jen lives in Dhaka

注意print是Python2和Python3之间的区别之一。在Python3中,print是一个函数,print(name, 'lives in', location)将打印jen lives in dhaka

但是在Python2中,print是一条指令,因此print(name, 'lives in', location)打印元组(因为逗号)(name, 'lives in', location)('jen', 'lives in', 'Dhaka')结尾的元组

要获得预期的输出,可以省略括号:

print name, 'lives in', location

或者使用join连接字符串

print(''.join(name, 'lives in', location))

由于外圆括号的内容只是一个字符串(没有逗号),因此在Python2中它们变得无害

相关问题 更多 >