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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
Python判断直线和矩形是否相交的方法
Jul 14 Python
Python Requests安装与简单运用
Apr 07 Python
Python中static相关知识小结
Jan 02 Python
python统计字母、空格、数字等字符个数的实例
Jun 29 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
Django文件存储 默认存储系统解析
Aug 02 Python
Python线程指南分享
Nov 19 Python
python matplotlib 画dataframe的时间序列图实例
Nov 20 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 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短址转换实现方法
2015/02/25 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
什么是JavaScript
2009/08/13 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
微信跳一跳python代码实现
2018/01/05 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
Linux下python3.7.0安装教程
2018/07/30 Python
python实现事件驱动
2018/11/21 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
实用求职信范文分享
2013/12/25 职场文书
小学家长会邀请函
2014/01/23 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
元旦主持词开场白
2015/05/29 职场文书
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
Python初识逻辑与if语句及用法大全
2021/08/07 Python