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实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
Python中使用第三方库xlrd来读取Excel示例
Apr 05 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
Anaconda安装pytorch和paddle的方法步骤
Apr 03 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
CI框架入门之MVC简单示例
2016/11/21 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
js获取Get值的方法
2016/09/29 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
Python深入学习之内存管理
2014/08/31 Python
python机器学习之贝叶斯分类
2018/03/26 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
python实现控制台打印的方法
2019/01/12 Python
Python运行DLL文件的方法
2020/01/17 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Django celery异步任务实现代码示例
2020/11/26 Python
高级护理实习生自荐信
2013/09/28 职场文书
读书心得体会
2013/12/28 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
公证委托书大全
2014/04/04 职场文书
村长贪污检举信
2014/04/04 职场文书
2015年新教师工作总结
2015/04/28 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
python调试工具Birdseye的使用教程
2021/05/25 Python
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS