Python全局变量global和局部变量 UnboundLocalError: local variable 'x' referenced before assignment
2017-01-24 10:42
881 查看
比如
这两个变量分别是全局变量和局部变量。
如果想要在func里面修改全局的x,需要使用global。不使用global就是局部变量。
这样就输出了两个2
如果仅仅只是要访问全局变量。可以不使用global
如果在变量内先使用全局变量并且需要修改全局变量。必须使用global。否则会报错。如果是只读全局变量可以不用。
python中修改变量就会认为是修改局部变量,比如下面的x=2使得python会报错认为 x==50的这个x是局部变量没有定义。
下面是错误代码
x=50
def func():
if x==50:
x=2
func()
报错为
UnboundLocalError: local variable 'x' referenced before assignment
必须使用global x才可以。
x=50 def func(): x=2 print x func()输出2 print x 输出50
这两个变量分别是全局变量和局部变量。
如果想要在func里面修改全局的x,需要使用global。不使用global就是局部变量。
x=50 def func(): global x x=2 print x func() print x
这样就输出了两个2
如果仅仅只是要访问全局变量。可以不使用global
x=50 def func(): print x func()输出50
如果在变量内先使用全局变量并且需要修改全局变量。必须使用global。否则会报错。如果是只读全局变量可以不用。
python中修改变量就会认为是修改局部变量,比如下面的x=2使得python会报错认为 x==50的这个x是局部变量没有定义。
下面是错误代码
x=50
def func():
if x==50:
x=2
func()
报错为
UnboundLocalError: local variable 'x' referenced before assignment
必须使用global x才可以。
相关文章推荐
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 【Python基础】之全局变量(UnboundLocalError: local variable referenced before assignment)
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错 UnboundLocalError: local variable 'todayPrice' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- python:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- python文件运行报错:UnboundLocalError: local variable 'status' referenced before assignment
- Python 读写当前路径下文件错误 UnboundLocalError: local variable 'file' referenced before assignment
- 【python】UnboundLocalError: local variable 'counter' referenced before assignment
- UnboundLocalError: local variable 'c' referenced before assignment
- python的UnboundLocalError: local variable 'xxx' referenced before assignment
- 【Python】UnboundLocalError: local variable 'l' referenced before assignment
- python:UnboundLocalError: local variable 'xxx' referenced before assignment
- Python的UnboundLocalError: local variable 'xxx' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment