print(name, 'lives in', location)
为什么显示输出:
('jen', 'lives in', 'Dhaka')
而不是
jen lives in dhaka
?为什么是逗号和引号不能省略?为什么输出中有括号?
答案 0 :(得分:1)
在python 2.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
答案 1 :(得分:1)
谨防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中变得无害