0

我是一名 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(相同),为什么?

4

3 回答 3

2

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

于 2013-06-01T08:12:51.437 回答
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
于 2013-06-01T08:17:51.630 回答
0

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

于 2013-06-01T08:13:32.113 回答