python中if、for、with等语句中变量的作用域

一般情况下在python中,类似于if、for、with之类操作内的变量都是可以循环或者判断语句外部访问的:
之前一直觉得if、for语句外面就不能用了,coding的时候也没有太在意这回事。。。今天看到别人的程序with语句外面突然有个没定义的变量,才知道。。。

for i in range(4):
    print('i={}'.format(i))
print(i)
'''
--output--
i=0
i=1
i=2
i=3
3
'''

for循环完了之后,变量i还是能直接访问的,是最后一个值,有的时候会疏忽,切记切记。

a = 1
if a>0:
    b = 2
    print('b={}'.format(b))
print(b)
'''
--output--
b=2
2
'''

with语句也是一样的,在内部定义的在外部可以访问的。

with open('./a.txt','a') as f:
    i = 3
print(i)  
'''
--output--
3
'''
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。