Python全局变量与局部变量区别及用法分析


Posted in Python onSeptember 03, 2018

本文实例讲述了Python全局变量与局部变量区别及用法。分享给大家供大家参考,具体如下:

对于很多初学的同学,对全局和局部变量容易混淆,看看下面给大家的讲解相信都应该明白两者的区别了。

定义:

全局变量:在模块内、在所有函数的外面、在class外面

局部变量:在函数内、在class的方法内

下面来看看例子

一、函数内部调用全局变量

a="hello" #全局变量a
def test():
 global a#调用全局变量a
 b =a  #test方法里之后再调用a时,都是全局的a
 print(b,a)
test()

在test函数里调用全局变量a,看看运行后的结果

('hello', 'hello')

运行后都是全局变量的值hello

二、函数内部使用与全局变量同名的局部变量

a="hello" #全局变量a
def test():
 a="hell0 local" #定义了一个局部变量a
 b =a  #test方法里之后再调用a时,都是局部的a
 print(b+",",a)
test()

这里在函数test里面再定义了一个a,这个a就为局部变量了,之后在test里调用的a全都是局部的a。

看看运行结果:

('hell0 local,', 'hell0 local')

三、函数内部修改全局变量值

a="hello" #全局变量a
def test():
 global a
 a="hell0 global" #修改全局变量a的值
 b =a  #test方法之里后再调用a时,都是全局的a
 print(b+",",a)
test()

在函数test里面先声明用的是全局的a,然后对a进行修改,就等于是修改了全局变量a的值。

看看运行结果:

('hell0 global,', 'hell0 global')

注:在方法内部的变量是在=号前面的,那肯定是局部变量。如果是第一次出现在=号后面的,那肯定是调用的全局变量;全局变量可以在函数里面调用,局部变量只能在对应的函数里面调用,在该函数外面任何地方都无法被调用。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
Python3使用requests发闪存的方法
May 11 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
python实现快递价格查询系统
Mar 03 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
Keras loss函数剖析
Jul 06 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
通俗讲解python 装饰器
Sep 07 Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 #Python
深入浅析Python中list的复制及深拷贝与浅拷贝
Sep 03 #Python
Python wxPython库使用wx.ListBox创建列表框示例
Sep 03 #Python
Python wxPython库消息对话框MessageDialog用法示例
Sep 03 #Python
Python中关键字global和nonlocal的区别详解
Sep 03 #Python
python leetcode 字符串相乘实例详解
Sep 03 #Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 #Python
You might like
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
用来给图片加水印的PHP类
2008/04/09 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
Js中获取frames中的元素示例代码
2013/07/30 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
树结构之JavaScript
2017/01/24 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
在python3环境下的Django中使用MySQL数据库的实例
2017/08/29 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python实现石头剪刀布程序
2021/01/20 Python
python中比较两个列表的实例方法
2019/07/04 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
python实时监控logstash日志代码
2020/04/27 Python
高性能装备提升营地:Kammok
2019/02/27 全球购物
文明教师事迹材料
2014/01/16 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
元旦标语大全
2014/10/09 职场文书
银行实习推荐信
2015/03/27 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
vue 自定义组件添加原生事件
2022/04/21 Vue.js
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL