使用"%"时语法无效在python 3.4.3上签署打印功能

时间:2015-04-04 14:33:33

标签: python python-3.x invalidation

我正试图通过以下方式在python 3.4.3上打印东西:

a=1    
b=2
print("text text %2d text text %2d", %(a,b))

但是当我尝试运行这个简单的代码时,它会在最后一个“%”符号上显示一个标记“无效语法”:

  File "<stdin>", line 1
    print("text text %2d text text %2d", %(a,b))
                                         ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:2)

你的字符串后不需要逗号:

print("text text %2d text text %2d" %(a,b))
  

%运算符也可用于字符串格式化。它解释左参数,就像应用于右参数的sprintf()样式格式字符串一样,并返回由此格式化操作产生的字符串

同样python documentation说:

  

因为这种旧的格式化格式最终会从语言中删除,所以通常应该使用str.format()

所以你可以使用str.format

print("text text {:2d} text text {:2d}".format(a,b))

答案 1 :(得分:1)

您需要删除逗号:

print("text text %2d text text %2d", %(a,b))
#                                  ^

%二元运算符,它适用于两个输入。这些输入是字符串和(a, b)元组:

print("text text %2d text text %2d" % (a,b))