问题描述
我将 python v3.8 与 jupyter 实验室笔记本一起使用,并且在循环中使用 f-string 而不是常规打印时遇到问题。 当我写在一个单元格中
a=2
f" a={a}"\
f" a={a+1}+1 "
输出是 ' a=2 a=3+1 '(如果没有那个 '反斜杠' 字符,它就只是 ' a=3+1 ',所以我猜第二个 f 字符串在这里覆盖了第一个), 但在像
这样的循环的情况下for i in range(11):
f"{i}"
根本没有输出,而我希望像这样打印数字
1
2
...
10
我在这里做错了什么?
解决方法
您需要在格式化字符串周围添加打印语句:
for i in range(11):
print(f"{i}")
,
它与 f-strings 无关。
没有 print
函数,Jupyter notebooks 只显示单元格中最后一行的结果:
当您使用反斜杠时,它会延续该行,Python 将其视为更长的一行。多个带引号的字符串被视为一个较长的字符串: