print ("Hello" , "World")
输出为:('Hello','World')。为什么不只是Hello World? (我是python的新手.3周前开始学习。)
答案 0 :(得分:4)
这是Python3和Python2之间为数不多的向后兼容的变化之一。
在Python2中,print
是一个声明。在Python3中,它被转换为函数调用。 Python中的语句是这样的:
x = 3
import this
from math import pi
函数调用如下所示:
some_list.sort()
counter.most_common()
括号()
意味着“称这个东西”。
如果您正在学习Python should learn with Python3,但如果您无法安装或不想出于任何原因,您可以使用__future__
导入在Python2中获得此行为:
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> print('the future', 'looks better')
the future looks better
如果它在Python脚本中,它必须是文件中的第一个非注释行,但在repl(交互式解释器,带有>>>
提示符的那个)中,您可以随时进行导入
答案 1 :(得分:2)
在python 2.7中我们有
WHERE `user_info`.`status` = ? LIMIT ?, ?
输出:
print('hello', 'world')
print ('hello', 'world')
print ('hello , world')
Print是一个声明。哪个传递参数就像那样。因此,如果我们在括号内有一个对象,它可以正常工作。但是如果括号内有多个对象,它们将作为元组对象传递。元组将像元组一样打印出来。
基本上
('hello', 'world')
('hello', 'world')
hello , world
与
相同print('a', 'b')
这就是你所期望的。
另一方面,在python 3中,Print是一个功能。所以你必须打电话给它。 基本上现在' hello',' world'不是一个元组。而是将多个参数分别传递给打印函数。
a = ('a', 'b')
print(a)
# or
print a
# output : ('a', 'b')
输出:
print('hello', 'world')
要在3.5中达到同样的效果,我们必须这样做
hello world
输出:
print(('hello', 'world'))
您可以在此处阅读更多内容:http://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html
答案 2 :(得分:-3)
因为你试图在python 2.7中使用print,pythont会暗示你要求它打印一个元组。要在python 2.7中输出hello world,您可以执行以下操作:
print "Hello", "World" # without the parentheses!
或
print "%s %s" % ("Hello", "World")
甚至
from __future__ import print_function
print("Hello", "World")
如果您曾经或将要使用python 3而不是python 2,那么您已经可以使用打印功能而无需特殊导入。如果你想了解更多关于元组的信息,我建议你看一下这个元组link