在python中打印包含变量的字符串

时间:2013-06-01 08:10:26

标签: python

我是一个新手python学习者,虽然我知道打印包含字符串和变量的文本,但我想问一个关于此的基本问题。这是我的代码:

x=5                                                                                        
print ("the value of x is ",x)                                      
print "the value of x is",x

第一个打印命令打印('the value of x is ', 5),而第二个打印命令打印the value of x is 5。但是print ('hello')& print 'hello'打印hello(相同),为什么?

3 个答案:

答案 0 :(得分:2)

因为('hello')只是'hello',而不是1元组。

答案 1 :(得分:1)

Print是py2x中的语句而不是函数。所以打印("the value of x is ",x)实际打印一个元组:

>>> type(('hello'))
<type 'str'>
>>> type(('hello',))  # notice the trailing `,` 
<type 'tuple'>

在py2x中,只需删除()即可获得正确的输出:

>>> print "the value of x is","foo" 
the value of x is foo

或者您也可以导入py3x的打印功能:

>>> from __future__ import print_function
>>> print ("the value of x is","foo")
the value of x is foo

答案 2 :(得分:0)

假设Python 2.x,print是一个语句,逗号使表达式为元组,用括号打印。假设Python 3.x,print是一个函数,因此第一个正常打印,第二个是语法错误。