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文件及目录操作实例详解
Jun 04 Python
Python ftp上传文件
Feb 13 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
Django 实现下载文件功能的示例
Mar 06 Python
对python条件表达式的四种实现方法小结
Jan 30 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
python 如何执行控制台命令与操作剪切板
May 20 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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摘要生成函数(无乱码)
2012/02/04 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php生成html文件方法总结
2014/12/01 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
js计算精度问题小结
2013/04/22 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
vue组件间通信解析
2017/03/01 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
Python实现学生成绩管理系统
2020/04/05 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
基于python图像处理API的使用示例
2020/04/03 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
师范毕业生求职自荐信
2013/09/25 职场文书
外语专业毕业生自我评价分享
2013/10/05 职场文书
医院总经理职责
2013/12/26 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
工作收入证明模板
2015/06/12 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js