范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

测试开发之函数进阶纯函数

  目录一、纯函数的概念  1.纯函数  2.非纯函数  3.纯函数:相同的输入保证相同的输出  4.纯函数和非纯函数对比  二、纯函数的 3 个原则  三、函数的副作用  四、Python 中的内置函数
  重点需要记住纯函数的概念和函数的副作用,面试会问,哈哈。  一、纯函数的概念
  一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。
  纯函数不是特定的语法,不是特定的功能,它只是一个概念。就是一个函数使用的时候的一种规则。  1.纯函数
  虽然这是个递归函数,它也是纯函数的一种:  def fun(n):     if n == -1:# 递归临界点:当达到递归临界点的时候,就不再调用自身函数的条件         return 1     else:         return n * fun(n-1) # 4 *3*2*1  fun(4)2.非纯函数
  函数里面进行一系列计算,它返回的结果是根据传入的数据相关。不再依赖于任何的其它数据,比如定义个 a = 100 ,那么在:     if n == 0:# 递归临界点:当达到递归临界点的时候,就不再调用自身函数的条件         return 1     else:         return n * fun(n-1) # 4 *3*2*1
  这段代码,也就是纯函数里面用到了外面的变量:  a = 100 def fun(n):     print(a)     if n == 0:# 递归临界点:当达到递归临界点的时候,就不再调用自身函数的条件         return 1     else:         return n * fun(n-1) # 4 *3*2*1  fun(4)
  那这种函数就不再叫做纯函数了。 print(a) 因为它对外部变量有引用。 3.纯函数:相同的输入保证相同的输出
  纯函数不会引用外部的变量,它调用的结果只对你传入进去的参数 fun(4) 有关。
  例如:
  定义 a=100 ,return a 返回一个 a,传入参数i ,def func(i): 。
  这个时候调用这个函数,传进去的参数跟它的返回值有关吗?
  这个函数和它的返回值没有关系。传进去的 func(10) ,不管传什么,不会影响返回值return a 。 a = 100 def func(i):     print("99999")     print(i)     return a  func(10)
  纯函数是传进去的参数是什么,返回的结果只跟你的参数有关。
  「纯函数:不管在什么时候调用(不管在哪里调用),传入的参数相同,返回的结果就一定是一样的。」
  例如:
  这个函数,调用的时候传个 10 进去,它返回的时候应该是多少呢?
  它返回的结果是 110。  a = 100 def func(i):     i = i + a     return i  res = func(10) print(res)
  在下面对 a 进行修改,对 a 再赋个值:
  a = a+1111
  那么这个时候,a 的值肯定发生变化了。这个时候在这里再调用函数,再传入 10, func(10) 。 a = 100 def func(i):     i = i + a     return i  res = func(10) print(res)  a = a+1111 res2 = func(10) print(res2)
  同样调用的是同一个函数,传入的参数都是相同的 func(10) ,但是拿到的返回值却不是相同的。
  像这种函数,它会受外部环境变量的影响,那么这种函数不能称为纯函数。  4.纯函数和非纯函数对比# 函数func1返回的结果为两个参数相加的结果  def func1(a,b):     return a + b   var1=100 #函数func2返回的结果为参数a和外部变量var1相加的结果 def func2(a):     return var1+a   #在上面两个案例中func1返回的结果只受传入的参数的影响,而func2不仅 # 受传入参数的影响还会受外部变量var1的影响,像func1这样的返回值只跟 #传入参数有关的函数,我们把它叫做纯函数。二、纯函数的 3 个原则
  原则一:变量都只在函数作用域内获取,作为的函数的参数传入。
  原则二:不会产生副作用,不会改变被传入的数据或者其它数据(全局变量)。
  原则三:相同的输入保证相同的输出。
  解释原则一:
  纯函数的变量只在函数的作用域内获得, 「也就是说纯函数里面要么使用的是函数内部定义的,要么使用的是传进来的参数,不会再使用其它任何的变量了。」
  解释原则二:
  纯函数是不会产生副作用的。
  解释原则三:
  任何时候调用,只要你传入的参数是相同的,它给你返回的结果都是一样的。  三、函数的副作用
  函数的副作用就是当函数被调用的时候,既完成了(函数既定的计算任务)函数相关的功能,在完成函数相关功能的时候,你这个函数访问了外部变量,尤其是对外部的数据进行了写操作。
  比如在函数内部用到了外面的列表,在这里面还往列表里面加了个元素。这个时候修改了全局变量,造成外部环境发生了改变。这种就叫做函数的副作用。  四、Python 中的内置函数
  「内置函数:」  https://docs.python.org/zh-cn/3.7/library/functions.html
  Python 中的内置函数包含的不仅仅是内置函数还有很多的内置类型。
  虽然内置类型是个类,不是函数。Python 官方也把内置类型归纳在内置函数里面,把它称为内置函数。
  str() 底层是个类,但是 Python 官方是把它归纳在内置函数里面的。
  不管什么时候调用内置函数,内置函数返回的结果只跟传入的参数相关,任何时候传进去的参数是一样的,那么内置函数返回的结果都是一样的。
  内置函数是没有副作用的,全部是属于纯函数的一种,都是属于纯函数。
  str() 不是个函数,其实是个类。虽然算个内置函数,但是不能称为纯函数。

2K屏加5G网络!华为Mate50将于年底发布华为手机在今年的表现可以说是一波多折,其发布的华为P50系列无法支持5G网络功能,这也使得其销量有所下降。但为了弥补这一缺憾,华为计划在今年稍晚时发布全新的华为Mate50系列,这谷歌安卓上新功能用脸就能控制手机智东西(公众号zhidxcom)编译杨畅编辑Panken智东西8月18日消息,据外媒报道,谷歌最近更新了其安卓无障碍(辅助功能)套件(AndroidAccessibilitySui独家他加入神童李一男的公司后被并到华为却靠极米创造神话运营商财经实习生李思缘文近日,极米科技携手保时捷设计共同推出极米RSAIR保时捷设计智能投影。纵观整个投影仪市场,极米科技在产品数量质量和品种方面,都已逐步走向成熟。作为行业领军企不用再担心手机空间小了!aigo国民好物固态U盘U393刷新你的认知在移动互联网高速发展的时代,我们使用手机的频率也越来越高,甚至有些人手机不离身,因此,这也导致了我们手机里的东西越来越多,即便是手机厂商不断扩展内存,从原先的8G16G32G升级到一起事故,蔚来从众人追捧到今日说法Q2财报发布之后,蔚来本应凭借财报再度成为业界关于新能源市场分析的重要案例之一,但近期的两起事故让刚发酵起来的蔚来前途话题迅速沉寂,甚至转变成了今日说法使用自动驾驶时如果发生事故,今日热点曝大批骁龙898旗舰!小米12首发科技行业新鲜趣事一文速览,在这里你可以了解科技热点获悉行业动态,话不多说让我们一起来看看吧曝大批骁龙898旗舰小米12首发日前,4nm工艺的高通骁龙898曝光了,有消息称目前有一大100公里路程消耗续航也是100吗?高德新能源导航推出续航预估算法电动汽车跑100公里需要有多少续航才安心?开到目的地预计要掉多少电?跑高速和走省道哪条路耗电更少?针对新能源车主的痛点需求,高德地图新能源导航快速迭代更新,近日创新推出了续航预估智适老化版APP受热捧,并非年轻人老了文严奇想不到,我一个90后能把老年模式用得这么香。记者采访发现,不少适老版APP在成功被老年群体接受之前,却率先收获了一批年轻粉丝。随着APP适老化逐渐推进,页面简洁操作简单的适老第11天鸿蒙App开发实战,相对布局相对布局DependentLayout,也是比较常用的一个布局管理器,在它里面,组件的排列方式是相对于其他同级组件或者父组件的位置进行布局。相对同级组件组件B神,想躲在组件A卡的后即将来袭的苹果13到底如何?刚刚看了一条消息,万众期待的iPhone13预计可能在今年的秋季9月14上线,这让我们这些错过了12的小伙伴有了一些期待,毕竟我还是一个听劝的人,身边的朋友都告诉我十三香的告诫,那京东旗舰店和自营店的区别,哪一个更好?现在网络购物的环境越来越好了,以前从不网购的小伙伴也纷纷开始网购。京东商城相对来说是大家使用比较多的一个购物软件,但是即便是在同一个平台购物,不同的店铺商品质量也不会一样。今天Pi
高性能需求下的全新升级ThinkPadneo14笔记本上手太空183天近期,我国神舟十三号载人飞船返回舱在东风着陆场成功着陆。从去年10月到今年4月16日,太空183天。在太空出差6个月的翟志刚王亚平叶光富三名航天员顺利返回阔别已久的祖国OPPO凭借出色产品力,位列今年Q1手机市场出货量第一4月29日消息,近日根据国际数据公司公布的数据显示,在2022年第一季度国内智能手机市场的出货量市场份额OPPO均拿到了第一的好成绩。国际数据公司则在报告中指出,OPPO能够在第一360发布EDR产品,致力于全方位守护政企用户的终端安全36氪获悉,360政企安全集团日前发布了EDR解决方案360终端检测响应系统(以下简称360EDR)。据介绍,360EDR依托360云端安全大脑提供的安全大数据威胁情报和攻防知识库刷屏!5倍薪酬,又3名华为天才少年出炉这所学校占俩!更有疯狂逆袭最开始的目标很小,只想着至少不能被退学ampampquot中国基金报记者吴羽大家还记得前一阵子华为发布招聘信息,开出5倍以上薪酬,不限学历和学校,面向全球招募天才少年的事情吗?最新消息传出,又有两位天才少年加入华为了,均来自西安交大。而此专业影像vivoX80系列首销开启,3699元起是否值得?手机的拍照功能日趋完善,对于很多的手机用户来说,拍照拍视频早已经是生活中不可或缺的一项娱乐,而手机拍照的好坏也直接影响用户使用手机的概率,五一前,之前预约火爆的vivoX80系列首华为WatchGT3Pro系列发布更专业更好看4月28日,华为折叠旗舰及全场景新品发布会正式召开,发布了包含新款折叠屏手机MateXs2新款智能腕表WatchGT3Pro系列和新款智慧屏等在内的多款新品。其中,华为WatchG某平台将针对女性推出女工程师上门服务,网友安全感爆棚4月29日,据荔枝新闻报道,点外卖备注放门口,深夜打车看到是女性司机会更加安心这是许多女性的真实写照,特别对于独居女性而言,从离家生活开始,就有许多的声音告诉你要如何保障自己的安全逆裁员潮而上,Web3。0热门岗位一览自2月以来,关于互联网大厂裁员的传闻不绝于耳,尽管当事公司并未做出官方回应,但从内部员工的反馈来看,这其中待澄清的恐怕只有裁员比例的多少而已。市场遇冷,收缩战线是Web2。0的巨头为什么越来越多的人选择二手苹果手机?看完你就懂了为什么越来越多人选择买二手机而不是全新机,难不成是二手机比较便宜吗?其实吧二手机也不便宜,那么今天就跟大家讨论一下这个问题。首先,二手机在价格方面?实比全新机更具有优,势相同的产品iphone13全系列优缺点总结iPhone13ProMax优点电池续航超长满血的A15处理器6G运行内存不锈钢边框6。7寸OLED超大屏幕ip68级防水等,支持120hz自适应高刷。缺点机身偏大偏重,由于双面主实测华为新表WATCHGT3Pro,体验过后,发现苹果手表真的输了说到可穿戴设备,华为的表现绝对是第一梯队。不仅投入大,也在短时间内形成了完整的产品矩阵,像是眼镜手环手表等等,手表中又有WATCH数字系列和WATCHGT系列等。其中,WATCHG