如何在一行上同时输出多个值
考虑以下代码:
score = 100 name = 'Alice' print('Total score for %s is %s', name, score)
预期的效果输出是“Alice 的总分是 100”。然而,实际输出是“%s 的总分是 %s Alice 100”。要解决此问题,必须对各个值进行格式化并按所需顺序打印。
使用 %-Formatting
要更正 % 格式的代码,请将变量传递为元组:
print("Total score for %s is %s" % (name, score))
单元素元组显示为('this',).
其他格式化方法
%-格式化代表一种较旧的方法。以下是一些更现代的方法:
字典格式
print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})
新式字符串格式
print("Total score for {} is {}".format(name, score))
对于数字,此方法允许重新排序或多个迭代:
print("Total score for {0} is {1}".format(name, score))
或使用显式名称:
print("Total score for {n} is {s}".format(n=name, s=score))
连接字符串
print("Total score for " + str(name) + " is " + str(score))
将值作为参数传递
print("Total score for", name, "is", score)
避免在此方法中自动调整间距,设置 sep 参数:
print("Total score for ", name, " is ", score, sep='')
Python 3.6 F-Strings
print(f'Total score for {name} is {score}')
最终,最可读的方法取决于个人偏好。
以上是如何在 Python 中在一行上打印多个值?的详细内容。更多信息请关注PHP中文网其他相关文章!