在python中使用旧式的字符串格式化样式时,即“”%(),如果百分比后面的内容是元组,则python会尝试将其分解并将其中的各个项目传递给字符串。例如,
tup = (1,2,3) print("this is a tuple %s" % (tup))
这将给出输出:
TypeError: not all arguments converted during string formatting
这是由于上述原因。如果要传递元组,则需要使用(tup,)语法创建一个包装元组。例如,
tup = (1,2,3) print("this is a tuple %s" % (tup, ))
这将给出输出:
this is a tuple (1, 2, 3)
(tup,)表示法将单值元组与表达式区分开。