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实现微信模板消息
Dec 21 Python
Python 使用requests模块发送GET和POST请求的实现代码
Sep 21 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
Django之模板层的实现代码
Sep 09 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
如何使用python传入不确定个数参数
Feb 18 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 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
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
phpinfo的知识点总结
2019/10/10 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
Python字符转换
2008/09/06 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
python读取文件名称生成list的方法
2018/04/27 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
Python函数参数分类原理详解
2020/05/28 Python
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
大学生个人自荐信样本
2014/03/02 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
护士辞职信怎么写
2015/02/27 职场文书
CSS的calc函数用法小结
2022/06/25 HTML / CSS