Python 中的 For 循环和数据类型
For loop in Python and data types
我想弄清楚 for 循环中的变量会发生什么。
i=2
for i in "1234":
print i*2
break
我能理解这个循环是如何执行的,因为我是一个整数,而且它是在一个字符串中搜索的。这是如何工作的?
永远不要将循环变量初始化为现有变量,break
只会导致第一次迭代发生,因此您可能应该摆脱它。否则,循环将毫无意义。
i = 2
for j in "1234":
print j * 2
输出为:
11
22
33
44
>>> i=2
>>> print(type(i))
<class 'int'>
>>> for i in '1234': # i is reassigned
... print(type(i))
... print(i*2)
...
<class 'str'>
11
<class 'str'>
22
<class 'str'>
33
<class 'str'>
44
i
在 for 循环开始时被重新赋值,不再是一个整数。
特别是,Python 不是 "searching the string" 你的 int。由于您的 for 循环,它 遍历 字符串。 i
然后是迭代变量,当你遍历一个字符串时,它会逐个字符地进行。类似地,Python 重载了字符串的乘法运算,所以一些字符串 s 乘以一些 int n 结果是 s 重复了 n 次。
我想弄清楚 for 循环中的变量会发生什么。
i=2
for i in "1234":
print i*2
break
我能理解这个循环是如何执行的,因为我是一个整数,而且它是在一个字符串中搜索的。这是如何工作的?
永远不要将循环变量初始化为现有变量,break
只会导致第一次迭代发生,因此您可能应该摆脱它。否则,循环将毫无意义。
i = 2
for j in "1234":
print j * 2
输出为:
11
22
33
44
>>> i=2
>>> print(type(i))
<class 'int'>
>>> for i in '1234': # i is reassigned
... print(type(i))
... print(i*2)
...
<class 'str'>
11
<class 'str'>
22
<class 'str'>
33
<class 'str'>
44
i
在 for 循环开始时被重新赋值,不再是一个整数。
特别是,Python 不是 "searching the string" 你的 int。由于您的 for 循环,它 遍历 字符串。 i
然后是迭代变量,当你遍历一个字符串时,它会逐个字符地进行。类似地,Python 重载了字符串的乘法运算,所以一些字符串 s 乘以一些 int n 结果是 s 重复了 n 次。