《(高职)5.3 变量的作用域ppt课件.pptx》由会员分享,可在线阅读,更多相关《(高职)5.3 变量的作用域ppt课件.pptx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、5.3 变量的作用域PYTHON 程序设计丁辉 商俊燕 范晓玲u5.1 函数基础函数基础u5.2 函数参数函数参数u5.3 变量的作用域变量的作用域u5.4 函数设计精选案例函数设计精选案例u小结小结2022年5月9日3第五章 设计自己的积木块函数5.3 变量的作用域2022年5月9日4变量的作用域就是变量起作用的范围,或者说是可以被哪部分程序访问,也可称为命名空间。一个变量在函数内部和外部定义,其作用域不同,如果用特殊关键字定义的变量,其作用域也有相应的规则。2022年5月9日51.局部变量在函数内部定义的变量(包括形式参数变量),其作用范围只在定义之后,到函数结束为止,这类变量是局部变量。
2、【例5-1】编程求圆的面积。#eg5_1.py#write by ding#2018-4-23#导入math模块import math#定义一个求圆面积的函数def circle(r): print(函数内局部变量r=%.2f%r) s=math.pi*r*r #求面积 r=8 #给r重新赋值 print(修改函数内局部变量r后,r=%.2f%r) return s #返回所求的面积 r=float(input(请输入圆的半径:)print(函数外变量r=%.2f%r)#调用函数求圆的面积area=circle(r)print(再次输出函数外变量r=%.2f%r)print(半径为%.2f的圆
3、,面积是%.2f%(r,area)print(输出circle()函数内变量s的值%.2f%(s)【例5-1】运行结果请输入圆的半径:5 函数外变量r=5.00函数内局部变量r=5.00修改函数内局部变量r后,r=8.00再次输出函数外变量r=5.00半径为5.00的圆,面积是78.54Traceback (most recent call last): File C:UsersAdministratorAppDataLocalProgramsPythonPython36dhdingeg5-1.py, line 25, in print(输出circle()函数内变量s的值%.2f%(s)Na
4、meError: name s is not defined请结合运行结请结合运行结果理解局部变果理解局部变量的作用范围量的作用范围5.3 变量的作用域2022年5月9日62.全局变量在函数外定义的变量,是全局变量,其作用域是整个程序范围。【例5-2】全局变量的应用示例。#eg5_2.py#write by ding#2018-4-24total=0 #定义一个全局变量print(全局变量初始值为:%d%total) def sum(a,b):使用关键字”global”说明全局变量之后,才可以修改其值,否则只能引用其值,不能修改 global totaltotal=a+b sum(25,38)
5、print(全局变量修改后的值为:%d%total)【例5-2】运行结果全局变量初始值为:0全局变量修改后的值为:635.3 变量的作用域虽然全局变量的作用范围是全部程虽然全局变量的作用范围是全部程序,但是不建议多用全局变量。全序,但是不建议多用全局变量。全局变量的使用降低了软件的质量,局变量的使用降低了软件的质量,使程序的调试、维护变得困难使程序的调试、维护变得困难。2022年5月9日7在函数内部使用全局变量,如果只是引用其值,则可以直接使用;如果需要修改全局变量的值,则需要使用关键字”global”进行说明之后才能修其值。当局部变量和全局内变量同名时,那么在局部变量作用域内会隐藏全局变量。如【例5-1】的r,在函数circle()内部时,是局部变量r有效。125.3 变量的作用域2022年5月9日8