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 tempfile模块学习笔记(临时文件)
May 25 Python
python求众数问题实例
Sep 26 Python
Python中的__slots__示例详解
Jul 06 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
python实现神经网络感知器算法
Dec 20 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 Python
PyTorch中topk函数的用法详解
Jan 02 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
Apr 17 Python
Python3中FuzzyWuzzy库实例用法
Nov 18 Python
用Python生成会跳舞的美女
Jan 18 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
Laravel 实现密码重置功能
2018/02/23 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
jQuery入门知识简介
2010/03/04 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
Python FFT合成波形的实例
2019/12/04 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
Sony C++笔试题
2013/03/10 面试题
促销活动总结怎么写
2014/06/25 职场文书
学校献爱心活动总结
2014/07/08 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python