我刚刚在Windows XP上安装了Python 2.7.2,学习如何编程。 我使用的一些教程书中给出了打印命令的示例,当我尝试它们时,我会得到不同的答案。
我希望这两个回归同样的事情 -
>>> print("Hello, World!")
Hello, World!
>>> print("Hello", "World")
('Hello', 'World')
>>>
我试图寻找答案,但我甚至不确定如何解释我出错的地方。
答案 0 :(得分:4)
由于print
是Python 2.x中的一个语句,因此您获得了预期的行为。 (a,b)
是一个元组,因此print (a,b)
会将其打印为元组。
另一方面,print
是Python 3.x中的一个函数,所以
print("hello world")
和
print("hello", "world")
将得出相同的答案。
从Python 2.x到3.x时,这是一个重大变化。了解差异很重要。在解释器中键入help()
,然后print
。您将根据Python版本获得不同的描述。
我建议查看this page,它以快速而好的方式描述之前有效的方法,以及现在有效的方法。
答案 1 :(得分:0)
这不是你的想法。这是一个论点,它是一个元组。
x=("Hello", "World")
>>> type(x)
<type 'tuple'>
它的工作原理是因为打印不是一个功能而是一个statement。
注意:在python 3中print is a function。
答案 2 :(得分:0)
在第一种情况下,您调用print
方法作为参数传递"Hello World!"
。在Python 2.7中,您不需要大括号,因此您也可以将其写为
print "Hello World!"
在第二种情况下,您创建一个元组("Hello", "World")
并将其传递给print
。因此打印元组。您没有将两个参数传递给print
。你只传递一个元组。
答案 3 :(得分:0)
在Python 2.x中,print是一个语句而不是函数。陈述没有假装
print 'Hello World'
这有点棘手,并且会在Python 3中发生变化。您可以通过在sctipt开头添加以下导入来激活python 2中的此行为:
from __future__ import print_fuction
然后,打印将成为一个功能,你会像这样称呼它
print('Hello World')
您在示例中看到的差异是('Hello','World')是一个元组,而('Hello World')是一个字符串。
如the Python doc所述:
元组由许多以逗号分隔的值组成
('Hello world')没有昏迷,所以它不是一个元组。但是('Hello world')在paranthesis结束前有一个昏迷,并且是一个元组。
('Hello world')中的括号是有效的,但在这里并没有用。
开始时你应该小心这一点。元组由comas而不是括号标识。除了()是空元组。正如我们在法语中所说,“这个例外是对规则的确认”
答案 4 :(得分:-1)
这两行的区别在于:
print("Hello, World!")
- &GT;印有一个字符串,上面写着'Hello,World!'
print("Hello", "World")
- &GT;给出两个字符串并打印两个字符串。首先是“你好”,然后是“世界”