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 21 Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
python中lambda()的用法
Nov 16 Python
python线程池threadpool使用篇
Apr 27 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
python对csv文件追加写入列的方法
Aug 01 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
python属于解释型语言么
Jun 15 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 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中如何定义和使用常量
2013/02/28 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
node+vue实现文件上传功能
2020/05/28 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
Python使用minidom读写xml的方法
2015/06/03 Python
python中的常量和变量代码详解
2018/07/25 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python request使用方法及问题总结
2020/04/26 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
开办加工厂创业计划书
2014/01/03 职场文书
秋季运动会稿件
2014/01/30 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
法人身份证明书
2014/10/08 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
python可视化之颜色映射详解
2021/09/15 Python