在打印语句中连接值

hea*_*her 6 python string-concatenation python-2.7 output

我将字符串“Bob”存储在一个名为name.

我想打印这个:

Hello Bob
Run Code Online (Sandbox Code Playgroud)

我怎么得到它?


假设我有代码

name = "Bob"
print ("Hello", name)
Run Code Online (Sandbox Code Playgroud)

这给

('Hello', 'Bob')
Run Code Online (Sandbox Code Playgroud)

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

name = "Bob"
print "Hello"
print name
Run Code Online (Sandbox Code Playgroud)

这给

Hello
Bob
Run Code Online (Sandbox Code Playgroud)

这也不是我想要的。我只想要普通的旧

Hello Bob
Run Code Online (Sandbox Code Playgroud)

我怎么得到它?

如果这是一个重复或愚蠢的问题,我提前道歉。

lin*_*usg 6

有几种方法可以存档:

蟒蛇2:

>>> name = "Bob"
>>> print("Hello", name)
Hello Bob
>>> print("Hello %s" % name)
Hello Bob
Run Code Online (Sandbox Code Playgroud)

蟒蛇3:

>>> name = "Bob"
>>> print("Hello {0}".format(name))
Hello Bob
Run Code Online (Sandbox Code Playgroud)

两个都:

>>> name = "Bob"
>>> print("Hello " + name)
Hello Bob
Run Code Online (Sandbox Code Playgroud)


Li3*_*357 6

之所以会意外打印,是因为在 Python 2.x 中,print 是一个语句,而不是函数,并且括号和空格正在创建一个元组。Print 可以像在 Python 3.x 中一样使用括号,但问题在于语句和括号之间的空格。空格使 Python 将其解释为一个元组。请尝试以下操作:

print "Hello ", name
Run Code Online (Sandbox Code Playgroud)

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