python 全局变量怎么用
1个回答
展开全部
在内部用之前加上global x的声明,就是全局变量
两个例子
a=1
def f():
a=2
print a
f()
print a
a=[1]
def f():
a[0]=2
print a[0]
f()
print a[0]
第一个函数里一旦a=2这样写,就相当于定义了一个新的变量a,这个变量a只在函数内有效,如果想让他引用全局的a,就要在前面加一句global a。第二个函数里a[0]列表取值先于赋值操作,会自动找到上一级里的a,这时操作的a[0]实际上是全局变量,没必要加global a。
说的易懂点:在内部使用global这样的声明,会让人产生这样的错觉,即内部只能用内部的变量,要用外部的变量必须global声明,这是错误的。global只是为了规避赋值操作的意思表达不明,python调用变量如果内部找不到自动会去寻找外部变量,就像第二个例子。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询