初学者在这里学习python - 为什么这段代码中需要“+”号?

问题描述

在这代码中:

print('My name is')
for i in range(5):
    print('Jimmy Five Times (' + str(i) + ')')

使用此输出

My name is
Jimmy Five Times (0)
Jimmy Five Times (1)
Jimmy Five Times (2)
Jimmy Five Times (3)
Jimmy Five Times (4)

我理解为什么代码会创建输出,但是为什么 str(I) 周围的“+”是必要的?我玩过代码,如果我删除 + 符号,我会收到语法错误。我是初学者,所以我确定它很简单,但我真的很感激一个简单的解释! :) 谢谢

解决方法

您需要使用 + 号的原因是您需要连接字符串(一个接一个)以获取要打印的完整字符串。字符串上使用的 + 操作将它们连接起来。如果你一个接一个地写两个字符串,Python 不明白你想用它们做什么。如果您希望将它们连接起来,则必须使用 + 运算符告诉 Python 这样做

,

当用于字符串时,+ 将它们连接起来。 + 标志不是唯一的方法,但如果您只是删除它们,则不会起作用。 Python 有语法规则,就像任何其他语言一样。子表达式只能以语法允许的方式组合,例如使用运算符。并列在这里没有意义,所以语法不允许。

我会在这里使用 f 字符串:

>>> for i in range(5):
...     print(f'Jimmy Five Times ({i})')
...
Jimmy Five Times (0)
Jimmy Five Times (1)
Jimmy Five Times (2)
Jimmy Five Times (3)
Jimmy Five Times (4)

这是另一种方式:

for i in range(5):
    print('Jimmy Five Times (',i,')',sep='')

print() 可以一次打印出多个对象。它通常用空格分隔它们,但您可以覆盖它。