如何修改Python代码仅用一个print语句输出指定格式的变量内容?
Python单print语句实现指定格式输出方案
原有代码问题说明
- 字符串定义时首尾引号不匹配,且内部的单引号未做转义处理
- 反斜杠属于Python转义字符,要输出
\需要用\\转义表达,原有代码未处理转义逻辑 - print语句语法错误,没有实现变量到占位符的替换逻辑
正确实现代码
我们可以用Python3.6+支持的f-string完成变量插值,配合三引号定义多行字符串,仅用1个print即可完成要求的输出:
# 可按需修改三个变量的取值 a = 1 b = 1.5 s = 'hi' # 仅1个print语句完成输出 print(f"""// The variable 'a' has value of {a}. // \\\\ While the variable 'b' has value of {b}. \\\\ // Lastly, the variable 's' has value of "{s}". //""")
如果你的Python版本低于3.6,也可以用format方法实现:
a = 1 b = 1.5 s = 'hi' print("""// The variable 'a' has value of {}. // \\\\ While the variable 'b' has value of {}. \\\\ // Lastly, the variable 's' has value of "{}". //""".format(a, b, s))
关键注意点
- 要输出两个连续的
\,需要在字符串中写四个\,每个要输出的\都需要一个转义前缀\ - 三引号包裹的多行字符串可以直接保留换行,不需要额外加
\n - 输出s变量时要保留外层双引号,直接把变量插值的位置放在双引号内部即可
内容的提问来源于stack exchange,提问作者Dave Shah
相关产品推荐
相关产品推荐

