python中全局变量与局部变量
发布日期:2021-06-29 11:42:19
浏览次数:2
分类:技术文章
本文共 752 字,大约阅读时间需要 2 分钟。
python中全局变量与局部变量
标签: python
- 局部变量就是定义在一个函数体内部的变量
- 全局变量是定义在外面的变量
比如:
a = 1def f(): b = 2
其中a
就是全局变量,而b
是局部变量。局部变量只在函数体内部有效,出了函数体,外面是访问不到的,而全局变量则对下面的代码都有效。
在函数体内部使用全局变量
全局变量可以直接在函数体内容部使用的,你可以直接访问,但是注意的是,如果对于不可变类型的数据,如果在函数里面进行了赋值操作,则对外面的全局变量不产生影响,因为相当于新建了一个局部变量,只是名字和全局一样,而对于可变类型,如果使用赋值语句,同样对外部不产生影响,但是使用方法的话就会对外部产生影响。
如下面的代码:
g_b = 3;g_l1 = [1,2];g_l2 = [1,2,3]def t1(): g_b = 2 g_l1 =[] g_l2.append(7)t1(g_b,g_l1,g_l2)print(g_b,g_l1,g_l2)# 输出如下3 [1, 2] [1, 2, 3, 7]
global关键字
上面说到,如果使用的是赋值语句,在函数内部相当于新建了一个变量,并且重新给了指向,但是有时候我们想把这个变量就是外部的那个全局变量,在赋值操作的时候,就是对全局变量给了重新的指向,这个时候可以通过global关键字表示我在函数里面的这个变量是使用的全局那个。使用方法如下:
g_b = 3def t1(): global g_b g_b = 2 g_b += 9t1()print(g_b)# 输出如下:11
这个时候你会发现全局变量g_b也重新指向了,这是因为global gb
表示指定了函数中的g_b
就是外面的那个。
转载地址:https://blog.csdn.net/zz2230633069/article/details/102699732 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月28日 05时47分15秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
力扣的串联所有单词的子串解法(Python)
2019-04-29
力扣的接雨水解法(Python3)
2019-04-29
HTML5 五种密码框
2019-04-29
Node.js npm uuid
2019-04-29
JavaScript 滑动验证
2019-04-29
CSS3 二级菜单
2019-04-29
CSS3 帧动画(Sprite,直译叫雪碧图)
2019-04-29
JavaScript 帧动画
2019-04-29
Java NIO —— 用 Path 取代 File
2019-04-29
毕业后的五年拉开大家差距的原因在哪里?
2019-04-29
Java Callable、Future、FutureTask
2019-04-29
Java 父线程与子线程相互通信的方法
2019-04-29
Java 逃逸分析
2019-04-29
Java 装饰模式
2019-04-29
Java 观察者模式
2019-04-29
Java ReentrantLock源码解读
2019-04-29
Java CompletableFuture
2019-04-29
缓存行、伪共享
2019-04-29
Redis 六种淘汰策略和三种删除策略
2019-04-29