第8章 函数(下)-【千锋教育】Python快乐编程基础入门同步教案

2023-03-23
| 7页
| 168人阅读
| 1人下载
教辅

内容正文:

课程名称 第8章 函数(下) 计划学时 4学时 内容分析 本章主要介绍间接调用函数、匿名函数、闭包、装饰器、偏函数、常用的内建函数、小案例 教学目标 与 教学要求 要求学生理解间接调用函数、掌握匿名函数、掌握闭包与装饰器、理解偏函数、掌握常用的内建函数 教学重点 间接调用函数、匿名函数、闭包、装饰器、偏函数、常用的内建函数 教学难点 装饰器、偏函数、常用的内建函数 教学方式 课堂讲解及ppt演示 教 学 过 程 第一课时 (间接调用函数、匿名函数、闭包、装饰器) 间接调用函数 前面调用函数时,使用函数名加参数列表的形式调用。除此之外,还可以将函数名赋值给一个变量,再通过变量名加参数列表的形式间接调用函数。 大家可能会疑惑:间接调用函数有何用处?这种用法可以使一个函数作为另一个函数的参数。 另外,函数名还可以作为其他数据类型的元素。 匿名函数 匿名函数是指没有函数名称的、临时使用的微函数。它可以通过lambda表达式来声明,其语法格式如下: lambda [arg1 [, arg2, ..., argn]] : 表达式 其中,“[arg1 [, arg2, ..., argn]]”表示函数的参数,“表达式”表示函数体。lambda表达式只可以包含一个表达式,其计算结果可以看作是函数的返回值。虽然lambda表达式不允许包含其他复杂的语句,但在表达式中可以调用其他函数。 使用lambda表达式声明的匿名函数也可以作为自定义函数的实参。 此外,lambda表达式声明的匿名函数还可以作为内建函数的实参。 lambda表达式表示一个匿名函数,也可以作为列表或字典的元素。 闭包 在前面章节中,函数可以通过return返回一个变量。此外,函数也可以返回另外一个函数名。 将一个函数的定义嵌套到另一个函数中,还有其他的作用。 如果内层函数引用了外层函数的变量(包括其参数),并且外层函数返回内层函数名,此时就称内层函数为闭包。从概念中可以得出,闭包需要满足如下3个条件: · 内层函数的定义嵌套在外层函数中。 · 内层函数引用外层函数的变量。 · 外层函数返回内层函数名。 装饰器 在夏天天气晴朗时,人们通常只穿T恤就可以了,但当刮风下雨时,人们通常在T恤的基础上再增加一件外套,它可以遮风挡雨,并且不影响T恤原有的作用,这就是现实生活中装饰器的概念。 · 装饰器的概念 装饰器本质上还是函数,可以让其他函数在不做任何代码修改的前提下增加额外功能。它通常用于有切面需求的场景,例如,插入日志、性能测试、权限校验等。 装饰器的概念,即一个以函数作为参数并返回一个替换函数的可执行函数。装饰器的本质是一个嵌套函数,外层函数的参数是被修饰的函数,内层函数是一个闭包并在其中增加新功能(装饰器的功能函数)。 · @符号的应用 例8-12中使用变量名将装饰器函数与被装饰函数联系起来。此外,还可以通过@符号和装饰器名实现两者的联系。 · 装饰有参数的函数 装饰器除了可以装饰无参数的函数外,还可以装饰有参数的函数。 · 带参数的装饰器——装饰器工厂 通过上面的学习,装饰器本身也是一个函数,即装饰器本身也可以带参数,此时装饰器需要再多一层内嵌函数。 第二课时 (偏函数、常用的内建函数、小案例) 偏函数 函数最重要的一个功能是复用代码,有时在复用已有函数时,可能需要固定其中的部分参数,除了设置默认值参数外,还可以使用偏函数(用来固定函数调用时部分或全部参数的函数叫偏函数)。 常用的内建函数 在Python中,内建函数是被自动加载的,可以随时调用这些函数,不需要定义,极大地简化了编程。 · eval()函数 eval()函数用于对动态表达式求值,其语法格式如下: eval(source, globals = None, locals = None) 其中,source是动态表达式的字符串,globals和locals是求值时使用的上下文环境的全局变量和局部变量,如果不指定,则使用当前运行上下文。 · exec()函数 exec()函数用于动态语句的执行,其语法格式如下: exec(source, globals = None, locals = None) 其中,source是动态语句的字符串,globals和locals是使用的上下文环境的全局变量和局部变量,如果不指定,则使用当前运行上下文。 · compile()函数 compile()函数用于将一个字符串编译为字节代码,其语法格式如下: compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) 其中,source为代码语句的字符串,filename为代码文件名称,如果不是从文件读取代码,则传递一些可

资源预览图

第8章 函数(下)-【千锋教育】Python快乐编程基础入门同步教案
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。