i = 0 def f(): print i i = 0 f() #报错!局部变量引用之前未定义
函数f里面print i,首先会先在函数内部查找是否有这个变量,而函数内部是有变量i的,但是在打印语句的后面
说白了意思就是i我这local域还没绑定呢,你哪来的print?赶紧找上级! 所以按道理不应该报错啊,而是应该向上级寻找,LEGB不是应该L没有往E找,E没有找G,最后找到B,如果B没有则报错??
小猫过河
相关分类