local variable 'xxx' referenced before assignment

简介: 定义了一个全局变量 s ,Python的一个函数里面引用这个变量,并改变它的值,结果报错local variable 'xxx' referenced before assignment,代码如下:s = 2  def fun():       if s== 2:          print s        s= 3         错误的意思就是s这个变量在引用前还没有定义,这上面不是定义了么?但是后来我把s= 2这句去掉就好了。

定义了一个全局变量 s ,Python的一个函数里面引用这个变量,并改变它的值,

结果报错local variable 'xxx' referenced before assignment,

代码如下:

  1. s = 2  

  2. def fun():   

  3.     if s== 2:  

  4.         print s

  5.         s= 3 

  6.   


      错误的意思就是s这个变量在引用前还没有定义,这上面不是定义了么?但是后来我把s= 2这句去掉就好了。后来想起python中有个global关键字是用来引用全局变量的


  1. s = 2  

  2. def fun():   

  3.      golbal s

  4.     if s== 2:  

  5.         print s

  6.         s= 3 

  7.         print s

原来在python的函数中和全局同名的变量,如果你有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。


相关文章
variable `xxx' has initializer but incomplete type的解决方法
variable `xxx' has initializer but incomplete type的解决方法
407 0
The JAVA_HOME environment variable is not defined correctly,this environment variable is needed to
The JAVA_HOME environment variable is not defined correctly,this environment variable is needed to
UnboundLocalError: local variable ‘loss’ referenced before assignment解决方法
UnboundLocalError: local variable ‘loss’ referenced before assignment解决方法
247 0
Property xxx was accessed during render but is not defined on instance
目前el-form的model主要用表单验证的,也就是配合el-form的rules和el-form-item的prop来使用的。不信的话,你可以增加一个rules和prop(为了调用验证方法,也el-form也加一个ref属性,相当于id或者class选择器的意思),但是不写model,然后验证的话,会提示缺少model,导致无法验证成功。
Property xxx was accessed during render but is not defined on instance
The type XXX cannot be resolved. It is indirectly referenced from required .class files
The type XXX cannot be resolved. It is indirectly referenced from required .class files
147 0
解决办法:defined but not used [-Werror=unused-variable]
解决办法:defined but not used [-Werror=unused-variable]
811 0
Unexpected aliasing of ‘this‘ to local variable.
Unexpected aliasing of ‘this‘ to local variable.
1426 0
Unexpected aliasing of ‘this‘ to local variable.
Replication-Replication Distribution Subsystem: agent xxxxxx failed. Column names in each table must be unique
原文:Replication-Replication Distribution Subsystem: agent xxxxxx failed. Column names in each table must be unique   最近遇到一个关于发布订阅(Replication)的奇葩问题,特此记录一下这个案例。
1041 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等