XXXXXXXXXX学院
授 课 教 案
授课日期 | 2018.12.21 | 课 时 | 2 | ||||
课 型 | 理论课□ 实训课□ 习题课□ 上机课□ 其他 | ||||||
授课章节、主题 | Python变量范围 | ||||||
教学目 的要求 | Python的主程序中包含函数、函数内部有自己的变量,主程序也有自己的变量。这些变量是什么关系,怎样在函数内部使用主程序的变量。 本节课的教学目标就是分清楚这些变量的性质,掌握局部变量和全局变量的使用。 | ||||||
教学重点及难点 python基础代码100例 | 重点:区分局部变量和全部变量 难点:正确使用局部变量和全局变量 | ||||||
教 学 设 计 | 说 明 | ||||||
一、主要内容 (1)局部变量和全局变量的概念 (2)局部变量的使用 (3)数据库管理员英文局部变量和全局变量同名下的应用 (4)全局变量的作用域 数组a[10]中有几个元素(5)多个函数中使用共同的全局变量 (6)随堂练习 二、主要教学方法 案例讲授法:以教师为主导,引导学生掌握并区分局部变量和全局变量。通过大量案例介绍,加深学生对所学知识的理解,帮助学生更好的吸收新的知识。 | |||||||
作业与思考题:全局变量和局部变量的作用域? | |||||||
课后回忆:通过本节课的学习,学生能够正确区分全局变量和局部变量。 | |||||||
任课教师 | 教研室主任签字 | ||||||
XXXXXXXXX学院
授 课 教 案 附 页
教 学 设 计 | 说 明 |
一、局部变量和全局变量的概念 局部变量 概念:局部变量也称内部变量。局部变量是在函数内作定义说明的,其作用域仅限于函数内,离开该函数后再使用这种变量是非法的。 实例1: def sum(m): s=0 for p in range(m+1): s=s+p return s m=10 s=sum(m) print(s) 案例分析: 实例1中:m,p,s变量都是局部变量。关于局部变量的作用域,需要注意: 函数中定义的变阿玲只能在函数中使用,不能在其他函数中使用。同时,一个函数中也不能使用其他函数中定义的变量。各个函数之间是平行关系,每个函数都封装了一块自己的区域,互不相干。 形参变量是属于被调函数的局部变量,而实参变量是属于主调函数的局部变量。 允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的存储单元,互不干扰,也不会发生混淆。实例1中sum函数的m,s变量与主程序的m,s变量同名,但他们是不同的作用域。 | |
全局变量 概念:如果一个函数内部要用到主程序的变量,那么可以在该函数内部声明这个变量为global变量,这样函数内部使用的这个变量就是主程序变量。当在函数中改变了全局变量的值时,会直接影响主程序中这个变量的值。 实例2: def fun(x): global y y=0 x=0 x=1 y=2 fun(x) print(x,y) 案例分析: 在fun函数中使用了global y语句声明fun函数中使用的y不是fun函数的y变量(不是局部变量),而是主程序中的y变量(是全局变量)。 程序运行结果: 1 0 二、局部变量和全局变量同名下的应用 局部变量和全局变量可以同名,但即使同名,局部变量的作用域也是在本函数内部,作用域范围不变。 实例3: def fun(x, y) : print("In fun:",x,y) x=1 补码反码原码的转换y=2 x=100 y=200 fun(x,y) | |
resizetoprint(x,y) 案例分析: fun函数中的d形式参数x,y属于局部变量,作用域仅为本函数内部。Fun函数在被调用时,x的值为100,y的值为200,因此,在fun函数内执行print语句,输出x的值为100,y的值为200。随后x和y的值在fun函数内被修改为1和2。但1和2的值只在fun函数内有效,出了fun函数,x和y的值仍是100和200. 程序运行结果: In fun:100 200 100 200 三、多个函数中使用共同的全局变量 当多个函数中使用共同的全局变量时,是对同一个全局变量进行访问和修改。 实例4: def A(x): global y y=0 x=0 def B(x): global y y=10 x=0 x=1 y=2 A(x) B(x) print(x,y) 案例分析: x和y的初值为1,2,在A函数中,声明y是全局变量,修改y的值为0,此时全局变量y的值从2修改为0,但x为局部变量,在函数A内部修改x的值, | |
不会影响函数外x的值。同理,在B函数中,声明y是全局变量,修改y的值为10,此时全局变量y的值从0修改为10,但x为局部变量,在函数B内部修改x的值,不会影响函数外x的值。 程序运行结果: 1 10 四、随堂练习 案例描述: 用一个函数输入省份和城市,用另外一个函数显示。 案例分析: noclassdeffounderror设计一个输入函数enter,用于输入province(省份)和city(城市),用另外一个函数show显示他们。由于enter要返回province、city这两个数据,暂时还没有办法做到,因此把province和city设为全局变量。 代码示例: def enter(): global province global city province=input("省份:") city=input("城市:") def show(): print("省份:"+province+" 城市:"+city) province="" city="" enter() show() | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论