内容正文:
教案
编号:PTGZ-229 流水号:05
(首页)共 3页
课程
《中职程序设计基础Python》
一体化 理论
章节(课题)及内容
Pythonufanc函数
班级日期
中职
2024.04
授课方式
讲授与任务驱动相结合
课时
1
作业题数
1
拟用时间
40分钟
教学目标
使学生理解以下理论知识:
· 理解函数的概念和作用。
· 掌握函数的定义和调用方法。
· 能够使用函数解决问题并提高代码复用性。
教学资源准备
多媒体设备
课本教材
学生练习素材
教学重点
· 函数的定义和调用。
· 函数参数的传递和返回值的处理。
· 函数的作用域和闭包概念。
教学难点
· 理解函数的作用域和变量的作用范围。
· 掌握函数的递归调用和闭包的应用。
教学方法
讲授法、任务驱动法、演示法、体验探究法等。
· 结合理论讲解和实际代码演示。
· 提供代码示例进行实践操作。
· 强调函数的应用场景和代码优化。
授课教师: 审阅签名:
教学过程
教学活动内容
时间分配教学方法
课前导入
· 提问:你知道什么是函数吗?函数有什么作用?
· 引入问题:如何定义一个函数来实现特定功能?
2分钟
讲授新课
练习指导
讲授新课:
1. 函数的定义和调用:
· 定义函数:使用def关键字定义函数。
· 函数参数:位置参数、关键字参数、默认参数和可变参数。
· 函数调用:通过函数名和参数列表调用函数。
2. 函数的作用域和闭包:
2. 局部变量和全局变量的作用域。
2. 闭包的概念和应用。
3. 函数的递归和匿名函数:
3. 递归函数的定义和应用。
3. 匿名函数(Lambda函数)的使用方法。
代码例子:
python
# 定义函数def greet(name):
return "Hello, " + name + "!"
# 调用函数
message = greet("Alice")print(message)
# 闭包示例def outer_func():
x = 10
def inner_func():
return x
return inner_func
closure = outer_func()print(closure())
# 递归函数def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)print(factorial(5))
# Lambda函数
square = lambda x: x**2print(square(3))
函数的作用域和变量的作用范围是编程中非常重要的概念,主要包括以下几点:
1.
局部作用域(Local Scope):
2.
· 在函数内部定义的变量属于局部作用域,只能在该函数内部访问。
· 当函数执行完毕后,局部变量的作用域也随之结束,变量被销毁。
3.
全局作用域(Global Scope):
4.
4. 在函数外部定义的变量属于全局作用域,可以在整个程序中访问。
4. 全局变量在程序执行期间始终存在,直到程序结束或被显式销毁。
5.
嵌套作用域(Enclosing Scope):
6.
6. 在嵌套函数中,内部函数可以访问外部函数的变量,但外部函数无法访问内部函数的变量。
6. 内部函数可以访问外部函数的局部变量和全局变量,但不能修改外部函数的局部变量。
7.
闭包(Closure):
8.
8. 当一个函数内部定义的函数引用了外部函数的变量,并且外部函数返回了内部函数时,就形成了闭包。
8. 闭包可以访问外部函数的变量,即使外部函数已经执行完毕。
10分钟
7分钟
自主学习
8分钟
练习训练
1. 编写一个函数,实现计算两个数的和并返回结果。
2. 创建一个闭包函数,实现累加功能并返回累加结果。
3. 尝试使用递归函数解决斐波那契数列问题。
12分钟
布置作业
作业:
· 设计一个程序,实现对列表中元素的平方操作,并返回新的列表。
· 思考:如何利用函数提高代码的复用性和可维护性?
1分钟
总结回顾
知识点总结:
· 函数的定义和调用方法。
· 函数参数的传递和返回值的处理。
· 函数的作用域和闭包概念。
· 递归函数和Lambda函数的应用。
第 1 页,共 2 页
学科网(北京)股份有限公司
$$