关于python的except一点疑问

为什么result是一个全局变量,但是最后一条语句 print(result)却无法被执行。可以写一串简单代码解释一下这种现象吗?或者在原代码基础上进行修改。

result = 0
try:
a,b=1,0
c=a/b
except Exception as result:
print(a)
a=2
print(result)
print(a)
print(a)
print(result)

因为你在except里面用了啊,就是现在这个result就相当于这个Exception,但是同是又是result = 0,就像当时于没有定义了。

sult = 0
try:
    a,b=1,0
    c=a/b
except Exception as result:
    print(a)
    a=2
    print(result)
    print(a)
print(a)
print(sult)
改成这样就行

给你个同理例子吧


with open('') as f:
    f.read()

f.read()

全局变量没问题,只是异常处理后变量result被释放掉了,所以后面再调用就是没定义

是这样吗