第4讲 函数式编程与文件操作(1).docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲 函数式编程与文件操作 函数式编程概述 函数式编程概念 函数式编程:将计算过程看成数学函数,使用表达式编程 头等函数(大数据编程中概念):像其他的值,函数可以被当成参数传递,也可以被当成结果返回 高阶函数:头等函数中的一种实践,可将其他函数作为参数或返回结果的函数。如定义一个高阶函数map(),有两个参数:一个是函数func(),另一个是列表list。map()函数对list的所有元素应用函数func(),并将处理结果组成列表list1,作为map的返回结果 纯函数: 参数与返回值是与外界交流的位于渠道 不操作全局变量,无I/O操作,不改变任何传入的参数值 对于同一个输入值,一定得到相同的输出值 递归:函数调用内部实现递归 函数式编程优点 便于测试、调试 适合并行执行 二、python函数编程常用的函数 1. lamda表达式(一种匿名函数,来自数学中的λ演算) (1)python匿名函数 语法:返回函数名=lamda 参数列表:函数返回值表达式语句 示例:计算x、y、z之和的lamda表达式: sum=lambda x,y,z: x+y+z #相等于定义三个数求和的的函数sum print(sum(1,2,3)) (2)lamda表达式数组 功能:将lamda表达式数组实现挑战杯功能,即函数列表 语法:数组名=[(lamda 表达式1), (lamda 表达式2), …] 示例: Arr=[(lambda x:x**2), (lambda x: x**3), (lambda x: x**4)] pint(Arr[0](2), Arr[0](1), Arr[0](2)) 结果:4,8,16 (3)将lambda表达式作为函数返回值 def math(o): if(o==1): return lambda x,y: x+y if(o==2): return lambda x,y: x-y action=math(1) print(“10+2=”,action(10,2)) 2. 使用map函数(用于将指定序列中所有元素作为参数调用指定函数,结果构成一个新的map序列 语法:结果序列=map(映射函数, 序列1[,序列2,…]) 取决于映射函数,可有多个序列 示例:使用map函数计算2、4、6、8、10的平方 arr=map(lambda x: x**2, [2,4,6,8,10]) for e in enumerate(arr) print(e) 结果: (0,4) (1,16) … 示例2: Arr=map(lambda x,y: x+y, [1,3,5,7],[2,4,6,8]) B=list(Arr) 结果:[3,7,11,15] filter()函数:对指定序列做过滤操作 示例: def is_even(x): return x%2==0 arr=filter(is_even, range(1,11)) a=list(arr) 结果:[2,4,6,8,10] reduce()规约函数:将指定序列中所有元素作为参数按一定规则调用指定函数,进行规约,得到一个计算结果 语法:计算结果=reduce(映射函数,序列) 示例: from functools import reduce def myadd(x,y): return x+y sum=reduce(myadd, [2,4,6,8,10]) 或sum=reduce(lambda x,y:x+y, [2,4,6,8,10]) print(sum) 结果:30 习题3.1 随机输入一批(不超过100个)互不相同且不等于0的整数,输出最大值、最小值和平均值 习题3.2随机输入一批(不超过100人)学生的学号和身高,统计超过平均身高或身高超过170cm的学生人数并输出相应的学生信息和统计结果 习题3.3 输入一个正整数,计算其数值为偶数的数位之和。 三、文本文件读写 1. 打开文件 语法:文件对象=open(文件名,访问模式,buffering) 后两个参数可缺省,打开文件读 访问模式有:r,w,a,r+,w+,a+/rb,wb,ab,wb+,rb+,ab+ buffering:为0不缓冲;为1,缓冲1行;大于1,实际缓冲大小 2. 关闭文件 语法:f=open(…) f.close() 3. 读取文件内容 (1)read方法 语法:str=f.read([b]) 示例: 测试文件test.txt内容: Hello Python 使用read()方法读取文件内容的例子 Python脚本: f=o

文档评论(0)

百年教育职业培训中心 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档