我正试图通过以下方式在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
答案 0 :(得分:2)
你的字符串后不需要逗号:
print("text text %2d text text %2d" %(a,b))
%运算符也可用于字符串格式化。它解释左参数,就像应用于右参数的sprintf()样式格式字符串一样,并返回由此格式化操作产生的字符串
因为这种旧的格式化格式最终会从语言中删除,所以通常应该使用
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))