Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 背后的逻辑是什么?_Python - Fatal编程技术网

Python 背后的逻辑是什么?

Python 背后的逻辑是什么?,python,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): pr

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

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))
有人能举一个类似但复杂的例子来说明这种用法吗

谢谢

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

+
串联字符串,或者如果操作数是数字,则将它们相加。这里需要执行
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,然后您可以联系字符串。

对于前面提到的第一个代码,第一个字符串“Jimmy五次”(
str(i))与
然后该
str(i)
进一步与“')连接,因此最终输出为:

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
第二个输出:

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
更好的解决方案 使用
f'
strings python 3.6以上版本

print(f'Jimmy Five Times ({i})')
使用
.format

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

您是否比较了两个示例的输出?第一个示例中有三个字符串连接在一起:(1)
'Jimmy五次(
,(2)
str(i)
,和(3)
。另一个更好的编写方法是
print(f'Jimmy Five Times({i})
,并且根本不使用字符串连接。另一种方法是类似
print(f'Jimmy Five Times({i})
的f-string,其中
{i}
告诉python在该字符串位置替换
i
的当前值,请勾选一个已接受的答案(点击复选标记)或张贴您自己的答案。