Python绝对初学者:第2章个人

2024-05-20 18:43:32 发布

您现在位置:Python中文网/ 问答频道 /正文

一个关于括号的简单问题。我很想知道为什么方括号有时会打印出来,有时会保持“隐形”状态?在这个例子中,我可以给出一个代码示例和答案来说明我的意思。在

如果我输入:

 name = "Larry"
 print(name)
 print("Hi", name)
 raw_input("Enter to exit program")

为什么我会得到这个答案:

^{pr2}$

拉里没有括号,也没有单引号。但是('Hi','Larry')是用括号和单引号?在

有人能指出发生了什么事吗?在


Tags: 答案代码name隐形示例inputraw状态
2条回答

面向绝对初学者的Python最新版本是2010年1月发布的第三个版本,它是针对python3的。您使用的是python2.7。在python2.7中,print是一个语句,不需要括号。因此,当Python2.7看到print("Hi", name)时,它会看到print和元组{}。如果您使用的是python3,它将把括号解释为带有两个参数的函数调用的一部分。解决问题的正确方法是使用python3,因为这正是本书教给你的。在

Python 2.7:

>>> name = "Larry"
>>> print(name)
Larry
>>> print("Hi", name)
('Hi', 'Larry')

Python 3:

^{pr2}$

通过执行from __future__ import print_function,可以使python2.7像python3一样工作,但我建议不要这样做,因为在阅读本书时会遇到其他不兼容的问题。在

括号中的表达式被解释为一种特殊的数据类型,一种元组,它将一些值收集在一起。在Python中,单引号和双引号可以交替使用来表示字符串。在

在Python2.7中,当您print时,括号是不必要的,并且可能导致解释问题。把它们移走看看会发生什么。在

与此代码比较:

a = ('hello', 3) #a tuple
print a
print 'hello', 3

另一方面,在python3中,括号是必需的。在

相关问题 更多 >