首页 > 解决方案 > 为什么这不是字符串?

问题描述

我正在研究 Al Sweigart 的“用 Python 自动化无聊的东西”(到目前为止读得很好!)。

有人可以向我解释这行代码:

print('Jimmy Five Times (' + str(i) + ')')

因此,此行用于 while 循环并导致打印以下内容:

吉米五次 (0)

吉米五次 (1)

吉米五次 (2)

吉米五次 (3)

吉米五次 (4)

太好了,但是阅读我希望它只打印一次的代码:

吉米五次 ( + str(i) + )

当有问题的代码被 ' ' 封装时,为什么括号的内容没有转换为字符串?更重要的是,嵌套的括号也转换为字符串,我希望会发生这种情况,但显然它的功能似乎是首先评估它的内容......我想通了。我将把它留在这里,以防其他人想知道:

Print(

第一个字符串: 'Jimmy Five Times ('

+ str(i) + 

第二个字符串: ')'

)

标签: pythonstring

解决方案


要打印相同的内容,您还可以执行以下操作:

print('Jimmy Five Times ({})'.format(str(i)))
#or
print(f'Jimmy Five Times ({str(i)})')

大括号内的任何代码都将被执行并插入到字符串中,但是,重要的是不要忘记f"{}"开头的 ,否则这将不起作用


推荐阅读