Python中for循环的局部变量i,在这里相当于是全局变量。不知道是版本问题还是其他问题,总之这里需要注意一下了。
for i in range(1, 4):
print(i, end = ',')
print('\n', i)
for i in 'abc':
print(i, end = ',')
print('\n', i)
输出了地址,在for循环中,地址都是变的。
for i in range(1, 4):
print(i, hex(id(i)))
print('结束输出:i=', i, hex(id(i)))
for i in 'abc':
print(i, hex(id(i)))
print('结束输出:i=', i, hex(id(i)))
i = 1
for i in [1,2,3,4]:
print(i, hex(id(i)))
print('结束输出:i=', i, hex(id(i)))
i = 2
for i in [5,6,7,8]:
print(i, hex(id(i)))
print('结束输出:i=', i, hex(id(i)))
初始化一个i,然后在进行for循环,效果也是一样的。
i = 1
for i in [1,2,3,4]:
print(i, hex(id(i)))
print('结束输出:i=', i, hex(id(i)))
i = 2
for i in [5,6,7,8]:
print(i, hex(id(i)))
print('结束输出:i=', i, hex(id(i)))