在print语句中连接值

时间:2016-09-09 20:58:22

标签: python python-2.7 output string-concatenation

我有字符串" Bob"存储在名为name的变量中。

我想打印一下:

Hello Bob

我如何得到它?

我们说我有代码

name = "Bob"
print ("Hello", name)

这给出了

('Hello', 'Bob')

我不想要的。 如果我输入代码

name = "Bob"
print "Hello"
print name

这给出了

Hello
Bob

这也不是我想要的。我只想要简单的

Hello Bob

我该怎么做?

如果这是一个重复或愚蠢的问题,我会事先道歉。

6 个答案:

答案 0 :(得分:1)

在Python 2.x中,您可以直接打印

print "Hello", name

但你也可以格式化你的字符串

print ("Hello %s" % name)
print "Hello {0}".format(name)

答案 1 :(得分:1)

将逗号(,)替换为加号(+),并添加一些合适的间距。

<强>代码

name = "Bob"
print("Hello " + name)

<强>输出

Hello Bob

答案 2 :(得分:1)

有几种方法可以存档:

Python 2:

>>> name = "Bob"
>>> print("Hello", name)
Hello Bob
>>> print("Hello %s" % name)
Hello Bob

Python 3:

>>> name = "Bob"
>>> print("Hello {0}".format(name))
Hello Bob

<强>两个

>>> name = "Bob"
>>> print("Hello " + name)
Hello Bob

答案 3 :(得分:1)

print("Hello" + ' ' + name)

应该在python 2上进行

答案 4 :(得分:1)

它出乎意料地打印的原因是因为在Python 2.x中,print是一个语句,而不是函数,而括号和空格正在创建一个元组。打印可以像Python 3.x一样使用括号,但问题是语句和括号之间的空格。这个空间让Python将它解释为一个元组。请尝试以下方法:

print "Hello ", name

注意缺少的括号。 print不是一个被调用的函数,它是一个声明。它打印Hello Bob,因为第一个字符串是,并且由逗号分隔的变量被附加或连接到随后打印的字符串。在Python 2.x中还有很多其他方法可以做到这一点。

答案 5 :(得分:1)

您正在看到Python 2和Python 3之间的区别。在Python 2中,print是一个语句,不需要括号。通过添加括号,您最终会创建一个元组,它不会按照您想要的方式打印。只需取出括号即可。

print "Hello", name

通常你不会看到这种效果,因为你只打印一个项目;将括号括在周围不会创建一个元组。以下内容在Python 2和Python 3中的作用相同:

print(name)