i = 0 def f(): print i i = 0 f()
运行结果显示:UnboundLocalError: local variable 'i' referenced before assignment。
在这个例子当中,函数f中的变量i是局部变量,但是在print语句使用它的时候,它还未被绑定到任何对象之上,那么接下来不是应该往上级搜寻i?这里最外面i=0应该是全局域的全局变量,而f中的i是local作用域中的局部变量。所以print使用i的时候,i还没有绑定,所以应该往全局域中找全局变量i=0啊!为什么还告诉我局部变量引用之前未定义??????求哥哥们教我!
孤独的小猪
人笨嫌刀钝
相关分类