python 引用全局变量之global

1.global在python中叫关键字,不叫命令

2.global的作用就是引用全局变量到局部作用域中来

3.如果全局变量中没有一个变量a,而函数中写了 globa a这样的语句,那么等于在全局变量中创建了一个变量a

4.代码举例:

########################################################################

a=10

def fun():

  global a

  a = 20

fun()

print(a)

总结:一般例子,在函数中,也就是是局部作用域中引用全局变量

#########################################################################

def fun():

  global a

  a = 20

fun()

print(a)

总结:这段代码因为没有全局变量a,而函数中引用了变量a,后面执行额函数,所以打印出全局变量a

############################################################################

【要点说明】

global一般会在什么时候会用到?在局部作用域中想改变全局变量的时候会用到,这个是可以做到的

---------------------------------------------------------------------------------------------------------------------------------

a=10

def fun():

  global a

  a = 20

  a=a+30

fun()

print(a)

总结:这段代码最后会打出40,因为在局部作用域中已经把全局变量的a值修改了,全局变量中的a已经不是之前的10了,现在已经是修改后的40了

原文地址:https://www.cnblogs.com/zhuhaofeng/p/9451241.html

时间: 2024-11-01 21:16:24

python 引用全局变量之global的相关文章

Python中全局变量的引用与修改之格式影响

先来看下面的代码及执行结果: a = 1 b = [2,3] def nums(): a = 2 b[0] = 0 print(a) print(b) print(a) print(b) nums() print(a) print(b) 结果: 1 [2, 3] 2 [0, 3] 1 [0, 3] 对上面结果的分析: 函数 nums() 中重新定义了一个变量 a ,这个 a 是局部变量,与外面的全局变量没有关系,而全局变量 列表 b 直接被引用过来进行修改了,同样是全局变量为什么会有差别呢? 因

Python LEGB (Local, Enclosing, Global, Build in) 规则

1 Local 一个函数定义了一个 local 作用域; PyFrameObject 中的 f_local 属性 2 Global 一个 module 定义了一个 global 作用域; PyFrameObject 中的 f_global 属性. 3 BuiltIn open, dir 的作用域等等, python 最顶层的作用域 4 Enclosing 5 例子, 6 b = 2 7 def funcO(): 8 b = 3 9 def funcI(): 10 print(b) 11 retu

python之全局变量

http://www.cnblogs.com/phoebus0501/archive/2011/01/18/1938728.html 应该尽量避免使用全局变量, 因为:1) 不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性. 对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难发现和更正的. 2) 全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量. 同样,全局变量降低了代码的可读性,阅读者可能并不知道

转:Python之全局变量

应该尽量避免使用全局变量.不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性.对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难发现和更正的. 全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量.同样,全局变量降低了代码的可读性,阅读者可能并不知道调用的某个变量是全局变量. 但是某些时候,全局变量能够解决局部变量所难以解决的问题.事物要一分为二. python里面全局变量有两种灵活的用法: 1 声明法

python中全局变量和局部变量

例1: a = 100 #定义全局变量a def test1(): print(a) #此处a为全局变量 def test2(a):#此处a为局部变量 print(a)#此处a为局部变量 test1() #结果为100 test2(3) #结果为3 例2: 1 temperature = 0 2 3 def get_temperature(): 4 global temperature #在函数内部修改全局变量的值,要先用global声明全局变量. 5 temperature = 33 #若不用

Python实用技巧:global关键字的用法详解

这篇文章主要介绍了python global关键字的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下: 想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念.global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例 一.变量作用域的说明 1.局部变量 1 def a(): 2 ## 菊部变量 - ,- 3 local = 1 4 print(local) 5 ## 全局无法使用,只有自己可用

Python引用复制,参数传递,弱引用与垃圾回收

引用 先上个示例: >>> val = [1] >>> val[0] = val >>> val [[...]] 上述代码使val中包含自身,而产生了无限递归.上述示例表明Python中的变量名为引用类型,赋值只是使得左值指向与右值相同的内存对象. is运算符可以判断两个引用是否指向了同一个对象,而==运算符判断两个引用指向的值是否相等而不关心指向什么对象. 对引用不了解的朋友,可以把Python引用与C/C++中的void *类比,不过因为垃圾回收机

Python引用模块和查找模块路径

模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中的一个.cs文件,Java中的一个.java或者编译后的.class文件可以认为是一个模块(但常常不表述为模块):对于解释型的语言会更加直观些,比如PHP的.php文件,在Python中就是.py文件可以认为是一个模块.在"模块"之上有"包",主要是

Python入门之Python引用模块和查找模块路径

#这篇文章主要介绍了Python引用模块和Python查找模块路径的相关资料,需要的朋友可以参考下 模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中的一个.cs文件,Java中的一个.java或者编译后的.class文件可以认为是一个模块(但常常不表述为模块):对于解释型的语言会更加直观些,比如PHP的.php文件,在Python中就是