版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python基础课教室讲师:无名时间:2018年5月教学监督热线免责声明:如果本课程内有任何内容侵害了您的权益,请您及时联系我们潭州教育全球教学服务中心热线:教学监督热线01020304必须掌握:函数的定义和函数的调用必须掌握:return的作用必须掌握:三种参数的定义了解讲过的内置函数知识点回顾本节知识点01.匿名函数02.函数作用域03.闭包04.递归和回调函数教学监督热线第一部分匿名函数教学监督热线思考01上节课的filter函数,可以过滤出列表中大于3的数据,但是使用都需要提前定义一个函数,有没有更加简便的方式呢?匿名函数lambda0102filter(lambdax:x>10,li)语法规则:lambda参数:表达式简单函数函数调用提高开发效率匿名函数的合理利用能够让那个代码更加简洁类似于filter、map等函数里面,可以使用匿名函数来处理简单的函数,可以不用使用def定义一个函数,使用匿名函数即可匿名函数应用场景匿名函数总结必须掌握:匿名函数的用法熟悉匿名函数的使用第二部分函数作用域教学监督热线思考01在函数里面也有可以定义变量,那函数里面的变量名如果和函数外面的变量名重名,会相互影响吗?示例03040102外部不能访问函数内部变量:deffun1(): x=1
returnx函数内部能够访问函数外部变量:x=123deffun2():
print(x)
returnx+1函数里面不能修改函数外部变量:x=123deffun3(): x=x+1
returnx函数里面和函数外部变量名相同:x=123print(x,id(x))deffun4():
x=456
print(x,id(x))
x+=1
returnxglobal和nonlocal01
02
global(全局变量):x=123deffun1():
globalx x+=1
returnxnonlocal(局部变量):deffun2(): x=123
deffun3():
nonlocalx x+=1
returnx
returnfun3()global和nonlocal全局变量局部变量globalnonlocal函数作用域函数内部globalnonlocal在函数嵌套函数的情况下,同样也有函数作用域的问题,但是python3中提供了方便,只需要使用nonlocal就可以在里层函数内部修改外部函数变量函数内部如果需要改变全局变量,就需要使用global修饰变量函数内部的变量,作用域只在函数内部,函数内部不可以直接更改函数外部的变量函数作用域总结必须掌握:全局变量和局部变量的概念必须掌握:global和nonlocal第三部分闭包教学监督热线思考0102函数里面可以再定义函数,那函数里面定义的函数可以在外面调用吗?如果可以的话,要怎么做呢?闭包0102
内嵌函数:deffun1():
print('fun1()在被调用')
deffun2():
print('fun2()在被调用') fun2()闭包:deffx(x): x+=1
deffy(y):
returnx*y
returnfy闭包闭包是函数里面嵌套函数,外层函数返回里层函数,这种情况称之为闭包闭包是概念,不是某种函数类型,和递归的概念类似,就是种特殊的函数调用闭包可以得到外层函数的局部变量,是函数内部和函数外部沟通的桥梁闭包总结必须掌握:闭包的形式和定义第四部分递归和回调函数教学监督热线思考01函数里面可以自身调用自身吗?递归0102阶乘:deffactorial(n):
ifn==1:
return1
returnfactorial(n-1)*n递归中可以函数自身调用自身,但是使用时类似于条件循环一样,要有递归的终止条件递归应用使用递归时,常常可以让代码更加简洁递归会占用比较多的内存,当递归次数比较多时,性能就会降低,因此不建议多使用递归回
调0102示例:defchoice(callback,ch):
ifch:
callback()
else:
print('OK')defplay():
print('hahahaha')choice(play,1)回调函数:
自身是一个函数,只是被传入到另一个函数当中,供其调用回调函数不一定会被调用,是否调用由被传入函数的内部逻辑决定递归总结必须掌握:递归和回调函数的定义熟悉递归和回调函数的使用本节知识点回顾必须掌握:匿名函数的定义必须掌握:全局变量和局部变量的概念必须掌握:global和nonlocal必须掌握:闭包、递归、回调
作业练习一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年装箱单在应对外贸出口贸易救济措施中的策略合同3篇
- 二零二五版国际贸易特许经营合同主体欺诈风险管理与合同解除合同3篇
- 二零二五年电子显示屏广告租赁合同样本3篇
- 二零二五版代办房地产前期开发手续与建筑工程质量检测服务合同3篇
- 二零二五年采棉机驾驶员职业素养提升与劳动合同3篇
- 二零二五版能源行业冻库租赁合同含能源物资储备协议3篇
- 二零二五年酒店客房部服务员劳动合同书3篇
- 天津事业单位2025年度合同制聘用人员管理规范3篇
- 二零二五年度装修合同范本:环保装修保障您的生活品质6篇
- 二零二五版地产经纪居间合同纠纷处理指南3篇
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- 高职组全国职业院校技能大赛(婴幼儿照护赛项)备赛试题库(含答案)
- 2024年公安部直属事业单位招聘笔试参考题库附带答案详解
- 健康教育工作考核记录表
- 装饰工程施工技术ppt课件(完整版)
- SJG 05-2020 基坑支护技术标准-高清现行
- 汽车维修价格表
- 司炉岗位应急处置卡(燃气)参考
- 10KV供配电工程施工组织设计
- 终端拦截攻略
- 药物外渗处理及预防【病房护士安全警示教育培训课件】--ppt课件
评论
0/150
提交评论