Python 3.3:分离参数(sep)给出错误

时间:2013-05-19 13:37:09

标签: python separator python-3.3

我是编程的新手,我开始使用Python。我试着在这里查询我的问题,但没有找到任何结果。

我正在尝试使用一个非常简单的打印命令,但由于某种我不明白的原因,我收到错误。

last = 'smith'
middle = 'paul'
first = 'john'
print(first.capitalize(), middle.capitalize(), last.capitalize(), sep='\t')

根据书中的答案,这应该是正确的,但每次我尝试运行它时,我都会收到'sep'的错误:

print(first.capitalize(), middle.capitalize(), last.capitalize(), sep='\t')
                                                                     ^
SyntaxError: invalid syntax

有人可以告诉我我做错了什么。因为我正在使用PyScripter。

[编辑]

谢谢你。我发现我使用的是Python 2.7.3而不是3.3。所以我查阅了手册以了解分隔符的工作原理。在我看来,唯一的区别是方括号。本手册将打印功能描述为:

print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout]) 

所以我改变了我的打印命令并添加了方括号:

print ([first.capitalize(),middle.capitalize(),last.capitalize()] [, sep='\t'])

但不幸的是,这不起作用,因为我收到一个错误,突出了sep ='\ t'周围的方括号。即使我拿出括号,错误也不会消失。

我不确定我做错了什么,看起来应该很简单。

1 个答案:

答案 0 :(得分:2)

你实际上并没有使用Python 3,你只是认为你是。尝试:

import sys
print(sys.version)

看看会发生什么。 Python 2 print ...语句(Python 3中不是print(...)函数)将其解释为

print (first.capitalize(), middle.capitalize(), last.capitalize(), sep='\t')

尝试使用关键字参数打印元组,因此sep上的语法错误