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 相关文章推荐
动感网页相册 python编写简单文件夹内图片浏览工具
Aug 17 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
详解python while 函数及while和for的区别
Sep 07 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 Python
python实现网站微信登录的示例代码
Sep 18 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
python 中的paramiko模块简介及安装过程
Feb 29 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
python 对xml解析的示例
Feb 27 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系列学习之日期函数使用介绍
2012/08/18 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
Python群发邮件实例代码
2014/01/03 Python
python语音识别实践之百度语音API
2018/08/30 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
借款协议书
2014/04/12 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
党员检讨书
2014/10/13 职场文书
个人优缺点总结
2015/02/28 职场文书
尝试使用Python爬取城市租房信息
2022/04/12 Python