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安装以及IDE的配置教程
Apr 29 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
windows下python安装pip图文教程
May 25 Python
Python日志模块logging基本用法分析
Aug 23 Python
django 捕获异常和日志系统过程详解
Jul 18 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
Django models filter筛选条件详解
Mar 16 Python
PyQt5实现登录页面
May 30 Python
Python定义一个Actor任务
Jul 29 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
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
JS 强制设为首页的代码
2009/01/31 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
Python根据区号生成手机号码的方法
2015/07/08 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
python对excel文档去重及求和的实例
2018/04/18 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
可靠的数据流传输TCP
2016/03/15 面试题
高校毕业生登记表自我鉴定
2013/11/03 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
学生检讨书范文
2014/10/30 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技