(“+str(i)+”)背后的逻辑是什么?

2024-05-15 06:10:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我是编程新手,并在这行上盖章:

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

我不理解这部分('+str(I)+'),更具体地说,str(I)前后的+符号[特别是str(I)后的+符号]

我知道+符号表示字符串串联,但在上面的一行中,什么与什么结合

第一个例子和第二个例子有什么区别

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

有人能举一个类似但复杂的例子来说明这种用法吗

谢谢

编辑: 我意识到字符串是吉米五次(,而不是吉米五次(),左括号和右括号把我弄糊涂了。谢谢大家的快速回复


Tags: 字符串nameinforismy编程符号
3条回答

+连接字符串,或者如果操作数是数字,则将其相加。这里需要执行str(i),因为如果i不是字符串,那么python会尝试将它们作为整数添加,这是不可能的。结尾+ ')'将向字符串添加一个右括号,第二个示例不添加括号。看看你自己,第一个会:

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

第二点:

My name is
Jimmy five times 0
Jimmy five times 1
Jimmy five times 2
Jimmy five times 3
Jimmy five times 4

说明

字符串上下文中的符号+用于字符串连接

具体地说,在本例中,没有为string和int定义+操作数(i是一个整数),因此首先必须通过str(i)将其转换为string,然后才能联系字符串

输出

第一个输出:

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

第二个输出:

My name is
Jimmy five times 0
Jimmy five times 1
Jimmy five times 2
Jimmy five times 3
Jimmy five times 4

更好的解决方案

使用python 3.6以上的f'字符串

print(f'Jimmy Five Times ({i})')

使用.format

print('My name is')
for i in range(5):
   print('Jimmy Five Times ({0})'.format(i))

字符串上下文中的符号+用于字符串连接

具体地说,在本例中,+操作数不是为string和int定义的(i是一个整数),因此您首先必须将其转换为string by str(i),然后才能联系字符串

相关问题 更多 >

    热门问题