码迷,mamicode.com
首页 > 其他好文 > 详细

关键字global

时间:2020-06-25 23:37:46      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:ssi   就会   数据类型   功能   def   oca   shel   count   oba   

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

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(限于字符串,数字)。

关键字global

标签:ssi   就会   数据类型   功能   def   oca   shel   count   oba   

原文地址:https://www.cnblogs.com/bashliuhe/p/13193125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!