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小时内删除。