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 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
Python中针对函数处理的特殊方法
Mar 06 Python
python使用PyGame模块播放声音的方法
May 20 Python
python爬虫的工作原理
Mar 05 Python
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
pandas创建新Dataframe并添加多行的实例
Apr 08 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
Django-rest-framework中过滤器的定制实例
Apr 01 Python
Python gevent协程切换实现详解
Sep 14 Python
Pandas直接读取sql脚本的方法
Jan 21 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
pdo中使用参数化查询sql
2011/08/11 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
tensorflow 实现数据类型转换
2020/02/17 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
Yahoo-PHP面试题3
2012/01/14 面试题
Python里面如何拷贝一个对象
2014/02/17 面试题
外国人聘用意向书
2014/04/01 职场文书
医药销售自荐书
2014/05/29 职场文书
学前教育专业求职信
2014/09/02 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
入党积极分子个人总结
2015/03/02 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python