大家好,欢迎来到IT知识分享网。
简介
global关键字定义了一种在局部定义全局变量的方法
- python中变量分为全局变量和局部变量,局部变量也叫做内部变量
- 内部变量只能被内部使用,无法被其他函数或者对象使用
使用
简单使用
def fn(): global fn_var fn_var = "Hello World" fn1() print(fn1.__globals__) def fn1(): print(fn_var) fn()
- 执行上面代码,我们会发现,在
fn1
中我们可以访问到其他函数定义的变量(只因为加了global
关键字 ) - 如果把
global
关键字去掉的话,我们会发现他报错了,当然,编辑器也会报出语法错误
globals
- 他是一个字典,可以看到定义在全局的量,打印如下
不同文件
这里有两个文件
a.py
def fn1(): global fn1_var fn1_var = "Hello World"
b.py
from a import fn1 def fn2(): print(fn1.__globals__["fn1_var"]) fn2()
我们执行b.py就会发现,他会报错KeyError: 'fn1_var'
,也就是说
- 只导入包的话,global中定义的全局变量,并没有加入到
__globals__
中 - 以上面的例子为主,只有执行了
fn1
,fn1_var
才会被加入到全局变量里面
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128053.html