UnboundLocalError: local variable 'xxx' referenced before assignment
如下代码片所示:
这是因为在函数内部对变量赋值进行修改后,该变量就会被python解释器认为是局部变量而非全局变量,当程序执行到n+=1的时候,因为这条语句是给n赋值,所以n成为了局部变量,那么在执行print n的时候,因为n这个局部变量还没有定义,自然就会抛出这样的错误。
考虑如下代码片:
那么,我们怎样才能达到在函数内部先打印,再赋值的操作呢?结论就是使用global关键字,在函数内部先声明n这个变量是全局变量。代码如下:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/310974/viewspace-2142809/ ,如需转载,请注明出处,否则将追究法律责任。