关键字global

引入两个示例:说明 局部作用域对全局作用域的变量(此变量只能是不可变的数据类型)只能进行引用,而不能进行改变,只要改变就会报错

eg:1
>>> a=1
>>> def func():
    print(a)
    
>>> func()
1

eg:2
>>> a=1
>>> def func():
    a+=1   //修改全局变量 
>>> func() //运行失败
Traceback (most recent call last):
  File "<pyshell#62>", line 1, in <module>
    func()
  File "<pyshell#61>", line 2, in func
    a+=1
UnboundLocalError: local variable 'a' referenced before assignment

如果遇到局部作用域去改变全局作用域的一些变量的需求,这怎么做呢?这就得用到关键字global

(1)global第一个功能:在局部作用域中可以更改全局作用域的变量。

>>> count=1
>>> def search():
    global count
    count=2

    
>>> search()
>>> print(count)
2
>>> 

(2)利用global在局部作用域也可以声明一个全局变量

>>> def a():
    global local  //局部作用域中将local声明为全局变量
    local=1
    print(local)   
>>> a()
1
>>> print(local) //没有声明,运行会报错
1

所以global关键字有两个作用:

1,声明一个全局变量。

2,在局部作用域想要对全局作用域的全局变量进行修改时,需要用到 global(限于字符串,数字)。

猜你喜欢

转载自www.cnblogs.com/bashliuhe/p/13193125.html