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实现通过shelve修改对象实例
Sep 26 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
python之消除前缀重命名的方法
Oct 21 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
根据tensor的名字获取变量的值方式
Jan 04 Python
jupyter notebook 重装教程
Apr 16 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
python基础之类方法和静态方法
Oct 24 Python
python 详解turtle画爱心代码
Feb 15 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
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
原生JS实现天气预报
2020/06/16 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
python可视化text()函数使用详解
2020/02/11 Python
tensorflow 实现数据类型转换
2020/02/17 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
C#面试题问题集
2016/04/02 面试题
社区工作者思想汇报
2014/01/13 职场文书
无故旷工检讨书
2014/01/26 职场文书
教师节标语大全
2014/10/07 职场文书
三年级学生期末评语
2014/12/26 职场文书
英文版辞职信
2015/02/28 职场文书
2014年个人总结范文
2015/03/09 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
学校就业保障协议书
2019/06/24 职场文书