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 continue语句用法实例
Mar 11 Python
python爬虫常用的模块分析
Aug 29 Python
Python lambda和Python def区别分析
Nov 30 Python
Python实现将DOC文档转换为PDF的方法
Jul 25 Python
Python实现简单多线程任务队列
Feb 27 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
Python存取XML的常见方法实例分析
Mar 21 Python
python实现拓扑排序的基本教程
Mar 11 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
python函数的万能参数传参详解
Jul 26 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 Python
Python利用zhdate模块实现农历日期处理
Mar 31 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 移除数组重复元素的一点说明
2008/11/27 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
php生成动态验证码gif图片
2015/10/19 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Django实现学生管理系统
2019/02/26 Python
python3.7 sys模块的具体使用
2019/07/22 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
python从PDF中提取数据的示例
2020/10/30 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
外贸业务员求职信
2014/06/16 职场文书
植树造林的宣传标语
2014/06/23 职场文书
学校教师培训工作总结
2015/10/14 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle