“print”附近的SyntaxError?

时间:2012-09-26 01:53:19

标签: python syntax python-idle

任何人都可以告诉我为什么这会在空闲时给我语法错误?

def printTwice(bruce):
    print bruce, bruce

SyntaxError:语法无效

2 个答案:

答案 0 :(得分:5)

检查正在使用的Python版本;变量sys.version包含有用的信息。

这在Python 3.x中无效,因为print 只是一个普通函数,因此需要括号:

# valid Python 3.x syntax ..
def x(bruce): print(bruce, bruce)
x("chin")

# .. but perhaps "cleaner"
def x(bruce):
    print(bruce, bruce)

(Python 2.x中的行为不同,where print was a special statement。)

答案 1 :(得分:3)

您似乎试图打印不正确。

您可以使用元组:

def p(bruce):
    print (bruce, bruce) # print((bruce, bruce)) should give a tuple in python 3.x

或者你可以在Python~2.7的字符串中使用格式:

def p(bruce):
    print "{0}{1}".format(bruce, bruce)

或者使用Python 3中的函数:

def p(bruce):
    print("{0}{1}".format(bruce, bruce))