Python3.5局部变量与全局变量作用域实例分析


Posted in Python onApril 30, 2019

本文实例讲述了Python3.5局部变量与全局变量作用域。分享给大家供大家参考,具体如下:

1、局部变量与全局变量定义:

子程序(函数)中定义的变量称为:局部变量;在程序顶级(一开始)定义的变量称为:全局变量

2、局部变量与全局变量作用域:

局部变量作用域:定义该变量的子程序;全局变量作用域:整个程序。

当局部变量与全局变量同名时,在定义局部变量的子程序内局部变量其作用;其他地方全局变量起作用。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
school = "Qing hua"    #全局变量
def change_name(name):
  school = "Bei da"  #局部变量
  print(school)
  print("before change:",name)
  name = "LIU"  #局部变量,只在函数内部生效(局部变量的作用域就是定义该变量的子程序)
  print("after change:",name)
print(school)
name = "liu"    #全局变量,在整个程序中都有效
change_name(name)
print(name)

运行结果:

Qing hua
Bei da
before change: liu
after change: LIU
liu

注:在函数内部要将局部变量修改为全局变量,需要用global声明(不要这样用:程序多处调用时会导致逻辑混乱,不利于调试)。

school = "Qing hua"    #全局变量
def change_name(name):
  print("before change:",name)
  name = "LIU"  #局部变量,只在函数内部生效(局部变量的作用域就是定义该变量的子程序)
  print("after change:",name)
  global school    # 函数内将局部变量改为全局变量用global声明
  school = "Bei da"
name = "liu"    #全局变量,在整个程序中都有效
change_name(name)
print(name)
print("school:",school)

运行结果:

before change: liu
after change: LIU
liu
school: Bei da

3、除了整数和字符串,列表、字典、集合、类中可以在子程序中(子函数)通过修改局部变量达到修改全局变量的目的。

names = ["liu","zhang","wang"]
def chang_name():
  names[0] = "sun"
  print(names)
chang_name()
print(names)

运行结果:

['sun', 'zhang', 'wang']
['sun', 'zhang', 'wang']

注:在Python中,Ctrl+?快捷键可以实现多行注释

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

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

Python 相关文章推荐
使用C语言扩展Python程序的简单入门指引
Apr 14 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python用户管理系统
Mar 13 Python
详解Python数据分析--Pandas知识点
Mar 23 Python
浅析Python 引号、注释、字符串
Jul 25 Python
django之自定义软删除Model的方法
Aug 14 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
python和opencv构建运动检测器的实现
Mar 03 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 Python
Python实现智慧校园自动评教全新版
Jun 18 Python
Python一行代码实现快速排序的方法
Apr 30 #Python
python批量识别图片指定区域文字内容
Apr 30 #Python
Python3.5装饰器典型案例分析
Apr 30 #Python
python如何制作缩略图
Apr 30 #Python
Python3.5装饰器原理及应用实例详解
Apr 30 #Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 #Python
python制作图片缩略图
Apr 30 #Python
You might like
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
php微信开发之上传临时素材
2016/06/24 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
大学自荐信
2013/12/12 职场文书
体育运动口号
2014/06/09 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
研讨会通知
2015/04/27 职场文书
2015年路政工作总结
2015/05/22 职场文书