如果是有了解过python作用域以及命名空间相关知识和机制的小伙伴就应该知道,python内的任何一个对象都是有着自己的作用域的。例如一个定义在函数内的变量作用域就只在函数内,外部无法使用它。那么想要使用函数内部变量就要用到global关键字,下面会有实例解析。
python最基础的语法就是任何对象的命名是不能重复的,python内对象命名是严格区分大小写的。一个定义在函数内部的变量虽然作用域和函数外部的变量不同,但是它们的名称还是不能重复,因为函数内部是可以访问函数外部对象的。
那么想要在根据python作用域的规则就可以去进行这么一个测试,在主程序也就是函数外定义一个变量。然后在函数内部去调用这个变量并给它赋值,那么再次在函数外输出这个变量的时候它的值是否改变了,示例如下:
x = 1 def func(): x = 2 func() print(x) 1
从代码示例运行的结果来看就知道在函数内部去引用外部变量的话还是无法对其本身进行改变,因为在函数内部引用外部全局变量时实际上就是调用的它的一个副本。
那么要真正的在函数内部作用域去修改外部变量的话就要给它加上一个global关键字,这样就能够表示它为全局变量了。而在python解释器实际运行的过程之中是将这个变量的实际地址给引用了进来,示例如下:
x = 1 def func(): global x x = 2 func() print(x) 2
同样的代码,只不过是在变量前加上了一个global关键字就可以实现这样的变化,这就是python关键字global的用法以及能实现的功能了。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。