在python中使用多个参数print-function时的额外括号和撇号

时间:2015-09-03 10:43:58

标签: python printing arguments python-2.x

在python中,我试图使用带有以下输入的print-function。

room = 503
print ('I am staying in room number', room)

我希望得到以下结果:

I am staying in room number 503

但相反,我得到了这个:

('I am staying in room number', 503)

我怎样才能使它像我的期望那样顺利?

当我在print函数中只有一个参数时似乎工作正常。

2 个答案:

答案 0 :(得分:1)

在Python 2.x中,print构造没有括号。所以,为了符合你的期望,你需要写:

room = 503
print 'I am staying in room number', room

请注意,当你写:

room = 503
print ('I am staying in room number', room)

...你实际上正在打印一个值元组(因为逗号),元组用周围的括号打印。

在这个例子中:

print ('Hello')

...它不会打印括号,因为没有逗号,因此它不是一个元组。要获取单个值的元组并打印相应的括号,可以添加前导逗号:

print ('Hello',)

请注意,在Python 3.x中,print()是一个函数,并且始终带括号。

答案 1 :(得分:0)

这似乎有效:

room = 503
print'I am staying in room number',room
print('I am staying in room number'),(room)
print('I am staying in room number 503')
print room

输出:

I am staying in room number 503
I am staying in room number 503
I am staying in room number 503
503

这看起来很奇怪,我是对的吗?