我正在乱用python,遵循本教程:
http://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3/Hello,_World
根据它,我输出以下代码:
print("Single String")
print("Concat", "String")
应该是这样的:
Single String
Concat String
但它看起来像这样:
Single String
('Concat', 'String')
这是为什么?我在OSX上使用Python 2.6。
编辑:我刚刚意识到指南是3.0,我有2.6。这是导致这个问题吗?升级Python安装的最快方法是什么?编辑2:升级修正了:)接受的答案解释了差异。
答案 0 :(得分:3)
print("Concat", "String")
这是tuple
。当您放置,
时,它变为tuple,因此Python以相同的方式输出它。
>>> t = ('Let', 'Us', 'Test')
>>> type(t)
<type 'tuple'>
元组由许多以逗号分隔的值组成。
答案 1 :(得分:2)
不是OP的原始问题的答案,我认为sukhbir回答得很好,但是对于后续问题。
我认为最快的升级方式是转到Python website并下载v3。
答案 2 :(得分:2)
如果您使用的是Python 2.x,则可以使用
print "Single", "String"
Python 3.x改变了打印的工作方式,以前它是一个声明,现在它是一个函数。
答案 3 :(得分:2)
为了兼容Python 2.7
,您可以使用占位符
print('%s %s')%("Concat", "String")
答案 4 :(得分:1)
原因是您正在使用Python 2运行Python 3。
答案 5 :(得分:1)
在Python 2.6中你也可以说
from __future__ import print_statement
获取3.x语法。
答案 6 :(得分:0)
要获得所需的行为,您需要打印元组的字符串表示形式。您可以通过在字符串上使用join
方法来实现此目的:
print ' '.join(('a', 'b'))
行为不符合预期的原因是,在Python 2中,print
是一个关键字。在Python 3中,它已被函数(也是print
)取代,因此后一种语法调用函数而不是打印元组。您可以使用
print(('a', 'b'))
函数调用的一组括号,以及元组的一组括号。