版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Python基础2.7Python函数操作在程序设计中,有很多操作是完全相似的,只是处理的对象不同,遇到这种情况比较好的做法是将反复用到的某些程序写成函数,当需要时调用函数就可以了。Python自带了很多内置函数,如输入函数input和输出函数print。当然,用户也可以自己创建函数,称为自定义函数。一、定义函数函数的定义需要注意几点:(1)函数定义是以关键字def开始,后面跟函数名,函数后面跟括号括起来的形式参数,当函数有多个参数的时候,形式参数之间要用逗号隔开。形式参数在定义的时候并不占用内存地址。(2)函数体描述了函数的主要功能,函数体往往包含return语句,该语句用于传递函数的返回值,如果没有return语句,则表示函数不返回任何值。一、定义函数在Python中,将一个程序段的运算或处理放在函数中完成,这就需要先定义函数,然后根据需要调用函数,而且可以多次调用,这也体现了函数的特点。Python函数定义的一般方法为:def函数名(形式参数1,形式参数2,…): 函数体 一、定义函数示例代码如下:deffun(x,y):result=(x**2+y**2)/2#计算(x^2+y^2)/2returnresult二、调用函数当定义了函数之后,就可以调用函数,调用函数需要在形式参数的位置输入实际参数值,调用有参数函数的形式:函数名(实际参数值1,实际参数值2,…)其中,实际参数值在输入时,要保证与形式参数一一对应,并且参数类型也要兼容。实际参数在使用时会占用内存地址。二、调用函数示例代码如下:deffun(x,y):result=(x**2+y**2)/2#计算(x^2+y^2)/2returnresultprint("两个数2和3的平方和的平均值为:",fun(2,3))二、调用函数三、匿名函数在程序设计中,有的函数需要反复使用,就可以通过前面的方法定义函数并进行调用。而有的函数仅仅是临时使用,使用一次后就不再使用,这样的函数就是匿名函数,匿名函数就是可以不用定义函数名而直接使用的函数。三、匿名函数非匿名函数在定义时,就已经创建函数对象和作用域对象,所以即使未调用非匿名函数,也占用内存空间。而匿名函数,仅在调用时,才临时创建函数对象和作用域链对象;调用完,立即释放,所以匿名函数比非匿名函数更节省内存空间。三、匿名函数1.匿名函数的定义在Python中,可以使用lambda关键字来定义一个匿名函数,lambda的一般方法为:lambda参数1,参数2,…:表达式其中,关键字lambda表示匿名函数,冒号前面表示参数名,参数可以有多个,但是只有一个返回值,因此只能有一个表达式,返回值就是该表达式的结果。三、匿名函数1.匿名函数的定义示例代码如下:f=lambdax,y:(x**2+y**2)/2print("两个数2和3的平方和的平均值为:",f(2,3))三、匿名函数1.匿名函数的定义三、匿名函数2.匿名函数的操作由于匿名函数lambda里面不能处理for循环之类的复杂运算,所以如果要对匿名函数lambda进行复杂运算,就需要与map、filter等运算结合起来使用。三、匿名函数2.匿名函数的操作(1)map操作匿名函数的map操作可以使用匿名函数作用于可迭代对象(如列表、元组等序列)的每一个元素。三、匿名函数2.匿名函数的操作(1)map操作map操作一般方法为:map(function,iterable)其中,iterable表示使用可迭代对象,function表示lambda匿名函数。map操作的结果仅仅是一个迭代结果,如<mapobjectat0x000001C12226B128>,要查看结果必须用list进行输出,即list(map(function,iterable))。三、匿名函数2.匿名函数的操作(1)map操作三、匿名函数2.匿名函数的操作(1)map操作示例代码如下:print("输出1到20的平方构成的列表:")result=list(map(lambdax:x**2,range(1,21)))print(result)三、匿名函数2.匿名函数的操作(2)filter操作匿名函数的filter操作可以使用匿名函数的布尔值结果应用于可迭代对象(如列表、元组等序列)的每一个元素,返回所有为True的元素,并放在一个迭代结果中。filter操作的一般方法为:filter(function,iterable)三、匿名函数2.匿名函数的操作(2)filter操作示例代码如下:print("输出100以内6的倍数的列表:")result=list(filter(lambdax:x%6==0,range(1,101)))print(result)三、匿名函数2.匿名函数的操作(2)filter操作任务实训2-21:创建函数fun_sum,该函数包含1个形式参数n,函数的作用是计算:1+2+……+n。并调用该函数,输入实际参数值10。任务实训2-21具体代码如下:deffun_sum(n):sum=0foriinrange(n+1):sum=sum+ireturnsumprint("前10个整数的和=",fun_sum(10))任务实训2-21任务实训2-22:定义函数fun_list,该函数有两个形式参数,第1个形式参数为一个输入列表,第2个形式参数表示列表的多个输出结果。第2个形式参数也是一个列表,该列表有3个取值,0表示输出列表的长度,1表示输出列表所有元素的和,2表示输出列表所有元素的平均值。输入列表[2,3,4,1,6,7,5],通过函数fun_list输出列表的长度和列表所有元素的平均值。任务实训2-22具体代码如下:deffun_list(list,n):result=[]list_len=len(list)result.append(list_len)list_sum=0foriinlist:list_sum=list_sum+ilist_mean=list_sum/list_lenresult.append(list_sum)result.append(list_mean)print("输入的列表为:",list)returnresult[n]list=[2,3,4,1,6,7,5]print("列表长度为:",fun_list(list,0))print("列表所有元素的平均值为:",fun_list(list,2))任务实训2-22任务实训2-23:利用匿名函数的map操作,将列表[0.22,0.34,0.44]中的每一个元素都转换成百分比形式。任务实训2-23具体代码如下:print("原始列表为:",[0.22,0.34,0.44])result=list(map(lambdax:"%.2f%%"%(x*100),[0.22,0.34,0.44]))print("转换后的列表为:",result)%.2f是格式符,表示2位小数的浮点数,%%是格式符,表示百分号%任务实训2-23任务实训2-24:利用匿名函数的filter操作,生成一个由个位为2的二位数组成的列表list1,即list1=[12,22,32,…,92],再用map操作将这个列表中每个元素除以10,生成一个新列表list2,即list=[1.2,2.2,3.2,…,9.2],list2的前3三个元素组成的切片列表list3,以此输出list1、list2、list3。任务实训2-24具体代码如下:list1=list(filter(lambdax:x%10==2,range(101)))print("list1=",list1)list2=list(map(lambdax:x/10,list1))
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备改造水闸施工方案(3篇)
- 输血发热的应急预案(3篇)
- 酚醛保温维修施工方案(3篇)
- 镜面玻璃安装施工方案(3篇)
- 面层喷护施工方案(3篇)
- 烟草技术就业方向
- 职业规划师的学科选择
- 纪律审查应对预案
- 棉花加工工发展趋势测试考核试卷含答案
- 预拌混凝土中控工创新实践测试考核试卷含答案
- 呼吸衰竭监测与管理指南
- 家政公司安全培训课件
- 刑事辩护风险告知书范文模板
- 2025年吉尔吉斯斯坦数字经济发展与跨境电商潜力行业报告
- 高三日语作文评分标准(2026届高三年级11月份联考)
- 2026年医药制造公司产品成本核算规程管理制度
- 验收规范考试试题及答案
- 人工智能课件说课稿
- 2025江苏连云港市教育局教研室选调教研员3人(公共基础知识)综合能力测试题附答案解析
- 小学语文教师数字教学能力提升策略与教学实践教学研究课题报告
- 2025年中国休闲农业与乡村旅游研究报告
评论
0/150
提交评论