我是蟒蛇世界的新人,我的问题很小。 我试图运行此操作,例如:
print ('Hello World')
print('1','2')
但是我得到了这个输出:
Hello World
('1','2')
为什么第二行显示不正确?
我使用的是带有python 2.7版的Mac笔记本电脑
感谢您的帮助。
答案 0 :(得分:1)
由于()
用于分组,因此它在执行级别中没有效果,但它使您的代码看起来更漂亮:
if ( 1 > 2 > 3):
完全是
if 1 > 2 > 3:
最重要的部分是,(1)
不是具有单个元素的tuple
。这些括号被评估为石斑鱼,并且在执行中没有效果,因此它与1
完全相同。另一方面,(1,)
在第一个元素暗示之后是tuple
和,
。
所以
print ("Hello World")
print "Hello World"
完全是一回事。但是('1','2')
是一个元组,因此print
语句会打印它。
答案 1 :(得分:1)
您正在尝试使用Python 3 print()
函数,而不是Python 2 print
命令。但是,您尝试在Python 2中使用此函数。使用from __future__ import print_function
在Python 2中获取此行为。
另请参阅__future__
和PEP 3105。
答案 2 :(得分:0)
print ('Hello World')
打印字符串Hello World
print ('1','2')
打印元组 ('1','2')
。