标签: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(限于字符串,数字)。
标签:ssi 就会 数据类型 功能 def oca shel count oba
原文地址:https://www.cnblogs.com/bashliuhe/p/13193125.html