当前课程知识点:计算机基础与应用 > 第11章 函数和代码复用 > 11.5 变量的作用域 > 11.5变量的作用域
大家好
变量的作用域不同
会使变量在传递值时
产生不同的效果
今天我们就来学习变量的作用域
在python中
变量的作用域
是指一个变量的有效范围
与变量名被定义的位置密切相关
根据变量作用域的不同
可将变量分为两类
局部变量和全局变量
局部变量是指
定义在函数内部的变量
只能在本函数内部使用
其有效范围是局部的
全局变量是指
定义在所有函数体之外的变量
在整个程序中都可以被引用
包括函数内部
其有效范围是全局的
下面我们来看一个例子
我们先给变量x赋值为5
由于x是在函数外部定义
它是全局变量
然后我们用def定义了一个函数f1
在函数体内部
我们定义了另一个变量y
给它赋值为10
因为它是在函数内部定义的
所以y是局部变量
下面我们用了两个print
分别实现输出全局变量x
和局部变量Y的值
函数在定义时不执行
所以现在不输出任何结果
函数定义完成
接着我们调用f1函数
得到函数内部两次print
输出命令的结果5和10
说明全局变量x
在函数内部可以被引用
局部变量y
在函数内部也起作用
接着我们在函数外
使用print(x)输出x的值
因为x是全局变量
所以它的值可以输出
而我们使用print(y)
输出y的值时
系统提示出错y没有定义
通过此例我们可以发现
变量x在函数的外面定义
是全局变量
它的值在它定义后的
整个程序中都起作用
包括在函数内部
而变量y是在函数内部定义
就是局部变量
它只在函数内部起作用
在函数外其值就丢失了
当局部变量和全局变量同名时
它们是代表两个不同的变量
例如
我们先定义一个全局变量s等于0
然后定义了一个f2函数
在该函数中也有一个
名为s的变量值为3
由于函数内部的变量s是一个局部变量
函数运行退出后
就释放了局部变量s
当我们在函数外部输出
变量s的值时
其实输出的是全局变量s的值
其值为0
若希望在函数体内使用全局变量
则必须在变量前加上
保留字global进行声明
例如
如果在上例中
我们在f2函数内的
变量s前加上保留字global
声明s是全局变量
调用函数运行后
全局变量s的值就被改变了
改变后的值会带到函数外
当我们在函数外
输出全局变量s的值就不再是0
而是3了
通过以上几个实例的学习
我们对变量的作用域总结如下
1.一个函数内的局部变量
不能被本函数外的其他函数引用
也不能被本函数外的代码引用
2.函数内可以引用全局变量
3.全局变量和局部变量可以同名
但他们是不同的变量
建议
虽然全局变量和局部变量
可以使用相同的变量名
不过这种做法容易造成理解混乱
所以通常建议局部变量
和全局变量使用不同的名字
本节课内容就到这里
谢谢大家
-1.1 计算思维概述
-1.2 计算思维的定义、特征、基本原理和本质
-1.3 计算思维的基本方法及应用简介
-2.1 计算机发展历程
-2.2 计算机系统组成
-2.3 计算机基本工作原理
-2.4 微型计算机硬件组成
-2.5 计算机网络简介
--2.5 计算机网络课后作业
-第2章 课后作业
-3.1 信息表示与计算机中的数制
-3.2 计算机不同数制间的转换
-3.3 计算机中数据的表示
-3.4信息编码
--3.4信息编码
--3.4信息编码
-第3章 课后作业
-4.1 操作系统概述
-4.2 Windows10的基本操作
-4.3 Windows10的文件管理
-第4章 课后作业
-5-1.1Word 2010的操作界面与文档编辑
-5-1.2 Word 2010的文档排版与图文混排
-5-1.3Word 2010的表格操作
-5-1.4Word 2010 其他功能和页面设置
--5.1.4Word 2010 其他功能和页面设置--沙莉
-5-2.1Power Point 2010 基础操作
-5-3.1Excel 2010概述
-5-3.2Excel 2010 公式和函数
-5-3.3Excel 2010 工作表的格式化
-5-3.4 Excel 2010数据的图表化
-5-3.5Excel 2010 数据管理和打印设置
-第5章 Word课后作业
-第5章 Excel课后作业
-第5章 PowerPoint课后作业
-6.1 程序设计基本方法
-6.2 Python语言的发展和特点
-6.3 Python语言开发环境配置
-6.4 程序的基本编写方法
-第6章 课后作业
-7.1Python程序基础
-7.2Python程序基本语法元素
-7.3turtle库的基本命令
--第7章 课后作业
-8.1程序的控制结构
-8.2程序的分支结构
-8.3程序的循环结构
-8.4程序的异常处理
-第8章 课后作业
-9.1基本数据类型
-9.2数据类型的运算
-9.3字符串数据类型
-第9章 课后作业
-10.1 集合类型-集合
-10.2 序列类型
-10.3 列表
--10.3 列表
--10.3 列表
-10.4 元组
--10.4 元组
--10.4 元组
-10.5 映射类型 -字典
-第10章作业
-11.1 函数的概念和分类
-11.2 函数的定义和调用
-11.3 函数的参数
-11.4 函数的返回值
-11.5 变量的作用域
-第11章作业
-12.1.1 文件概述
-12.1.2 打开或创建文件
-12.1.3 数据写入文件
-12.1.4 读取数据和关闭文件
-12.2 CSV文件
-12.3.1 编辑Excel工作簿
-12.3.2 编辑Excel工作表
-12.3.3 编辑Excel单元格
-12.4.1-5 图像文件
-12.4.6-7 Image的常用属性、函数和方法
-第12章作业
-13.1 科学计算的含义
-13.2 方程问题的求解
-13.3 微积分问题的求解
-13.4 数学函数的可视化
-第13章作业