对应UnboundLocalError的python binding操作

       当我们对一个变量进行引用,但是该变量在该引用操作之后又被绑定为本地变量,那么就会抛出UnboundLocalErro异常,一般是变量在引用前未被赋值。那么python里有哪些操作会将一个变量绑定为本地变量呢?

1、赋值语句;

2、for i in x语句中的x,会将x绑定为本地变量;

3、del x语句会将x绑定为本地变量;

4、import x语句会将x绑定为本地变量;

5、try:...except Exception as x语句会将x绑定为本地变量。

因此如果在上述语句之前引用了x,且没有预先定义,而是企图之间通过LEGB规则引用上层作用域的变量,那么就会报错UnboundLocalErro。

你可能感兴趣的:(python编程)