Python中for循环中的变量范围

发布时间 2023-12-07 15:52:20作者: Danlis

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)))