当前位置: 首页 > news >正文

怎么把别人网站模板下载出来淘宝一个关键词要刷多久

怎么把别人网站模板下载出来,淘宝一个关键词要刷多久,物流专线网站建设,温州建校特种作业人员查询匿名函数lambda表达式什么是匿名函数#xff1f;匿名函数#xff0c;顾名思义就是没有名字的函数#xff0c;在程序中不用使用 def 进行定义#xff0c;可以直接使用 lambda 关键字编写简单的代码逻辑。lambda 本质上是一个函数对象#xff0c;可以将其赋值给另一个变量匿名函数顾名思义就是没有名字的函数在程序中不用使用 def 进行定义可以直接使用 lambda 关键字编写简单的代码逻辑。lambda 本质上是一个函数对象可以将其赋值给另一个变量再由该变量来调用函数也可以直接使用。#平时我们是先定义函数再进行调用def power(x):return x ** 2print(power(2))#使用lambda表达式的时候我们可以这样操作power lambda x : x ** 2print(power(2))#觉得太麻烦还可以这样调用print((lambda x: 2 * x)(8))lambda表达式的基本格式lambda 入参 : 表达式#入参可以有多个比如power lambda x, n: x ** nprint(power(2, 3))lambda 表达式的使用场景一般适用于创建一些临时性的小巧的函数。比如上面的 power函数我们当然可以使用 def 来定义但使用 lambda 来创建会显得很简洁尤其是在高阶函数的使用中。定义一个函数传入一个list将list每个元素的值加1def add(l []):return [x 1 for x in l]print(add([1,2,3]))上面的函数改成将所有元素的值加2可能大家会说这还不简单直接把return里的1改成2就行了。但是真的行吗如果函数被多个地方使用而其他地方并不想加2怎么办这好办把变得那部分抽出来让调用者自己传def add(func,l []):return [func(x) for x in l]def add1(x):return x1def add2(x):return x2print(add(add1,[1,2,3]))print(add(add2,[1,2,3]))一个简简单单的问题一定要用这么多代码实现def add(func,l []):return [func(x) for x in l]print(add(lambda x:x1,[1,2,3]))print(add(lambda x:x2,[1,2,3]))map函数map的基本格式map(func, *iterables)map() 函数接收两个以上的参数开头一个是函数剩下的是序列将传入的函数依次作用到序列的每个元素并把结果作为新的序列返回。也就是类似 map(func,[1,2,3])同样的我们还是来完成这样一个功能将list每个元素的值加1def add(x):return x 1result map(add, [1, 2, 3, 4])print(type(result))print(list(result))使用lambda表达式简化操作result map(lambda x: x 1, [1, 2, 3, 4])print(type(result))print(list(result))函数中带两个参数的map函数格式使用map函数将两个序列的数据对应位置求和之后返回,也就是对[1,2,3],[4,5,6]两个序列进行操作之后返回结果[5,7,9]print(list(map(lambda x, y: x y, [1, 2, 3], [4, 5, 6])))对于两个序列元素个数一样的相对好理解。如果两个序列个数不一样的会不会报错print(list(map(lambda x, y: x y, [1, 2, 3], [4, 5])))我们可以看到不会报错但是结果以个数少的为准reduce函数reduce函数的基本格式reduce(function, sequence, initialNone)reduce把一个函数作用在一个序列上这个函数必须接收两个参数reduce函数把结果继续和序列的下一个元素做累积计算跟递归有点类似reduce函数会被上一个计算结果应用到本次计算中reduce(func, [1,2,3]) func(func(1, 2), 3)使用reduce函数计算一个列表的乘积from functools import reducedef func(x, y):return x * yprint(reduce(func, [1, 2, 3, 4]))结合lambda表达式简化操作from functools import reduceprint(reduce(lambda x, y: x * y, [1, 2, 3, 4]))filter 函数filter 顾名思义是过滤的意思带有杂质的(非需要的数据)经过 filter 处理之后就被过滤掉。filter函数的基本格式filter(function_or_None, iterable)filter() 接收一个函数和一个序列。把传入的函数依次作用于每个元素然后根据返回值是 True 还是 False 决定保留还是丢弃该元素。使用 filter 函数对给定序列进行操作最后返回序列中所有偶数print(list(filter(lambda x: x % 2 0, [1, 2, 3, 4, 5])))sorted 函数sorted从字面上就可以看去这是个用来排序的函数sorted 可以对所有可迭代的对象进行排序操作sorted的基本格式sorted(iterable, keyNone, reverseFalse)#iterable -- 可迭代对象。#key -- 主要是用来进行比较的元素只有一个参数具体的函数的参数就是取自于可迭代对象中指定可迭代对象中的一个元素来进行排序。#reverse -- 排序规则reverse True 降序 reverse False 升序(默认)。#对序列做升序排序print(sorted([1, 6, 4, 5, 9]))#对序列做降序排序print(sorted([1, 6, 4, 5, 9], reverseTrue))#对存储多个列表的列表做排序data [[Python, 99], [c, 88]]print(sorted(data, keylambda item: item[1]))闭包在万物皆对象的Python中,函数是否能作为函数的返回值进行返回呢def my_power():n 2def power(x):return x ** nreturn powerp my_power()print(p(4))#------------------------------------------------------------def my_power():n 2def power(x):return x ** nreturn powern 3p my_power()print(p(4))我们可以看到my_power 函数在返回的时候也将其引用的值(n)一同带回n 的值被新的函数所使用这种情况我们称之为闭包当我们把n的值移除到my_power函数外面这个时候来看下计算结果n 2def my_power():def power(x):return x ** nreturn powern 3p my_power()print(p(4))为什么输出的结果会是64我们先来看看闭包时p.__closure____的结果#例1def my_power():n 2def power(x):return x ** nreturn powerp my_power()print(p.__closure__)#结果()#closure是内部函数的一个属性用来保存环境变量#---------------------------------------------------------------------#例2n 2def my_power():def power(x):return x ** nreturn powern 3p my_power()print(p.__closure__)#输出结果 None通过例1跟例2对比我们可以知道例2并不是闭包闭包经典问题下面的程序是否是闭包能否正确运行def my_power():n 2def power(x):n 1return x ** nreturn powerp my_power()print(p(3))如何让上面的程序正确运行看看改正之后的结果def my_power():n 2def power(x):nonlocal nn 1return x ** nreturn powerp my_power()print(p.__closure__)print(p(3))print(p(3))看看下面的程序的运行结果def my_power():n 2L []for i in range(1, 3):def power():return i ** nL.append(power)return Lf1, f2 my_power()print(f1())print(f2())print(f1.__closure__[0].cell_contents)print(f2.__closure__[0].cell_contents)python的函数只有在执行时才会去找函数体里的变量的值也就是说你连形参都不确定你咋求知道 i为几呢在这里你只需要记住如果你连形参都不确定python就只会记住最后一个i值。装饰器及其应用什么是装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能同时又不改变其结构。这种类型的设计模式属于结构型模式它是作为现有的类的一个包装。这种模式创建了一个装饰类用来包装原有的类并在保持类方法签名完整性的前提下提供了额外的功能。import timestart time.time()time.sleep(4)end time.time()print(end - start)从实际例子来看装饰器def my_fun():print(这是一个函数)my_fun()要再打印“这是一个函数”前面在打印多一行hello world。def my_fun():begin time.time()time.sleep(2)print(这里一个函数)end time.time()print(end-begin)my_fun()这个时候如果不想修改原有的函数咋整def my_fun():print(这是一个函数)def my_time(func):begin time.time()time.sleep(2)func()end time.time()print(end - begin)my_time(func)这种方式因为要增加功能导致所有的业务调用方都得进行修改此法明显不可取。另一种方式def print_cost(func):def wrapper():begin time.time()time.sleep(2)func()end time.time()print(end - begin)return wrapperprint_costdef my_fun():print(这里一个函数)第二种方式并没有修改func函数的内部实现而是使用装饰器模式对其功能进行装饰增强。以上就是浅谈Python 函数式编程的详细内容更多关于Python 函数式编程的资料请关注python博客其它相关文章
http://www.zqtcl.cn/news/982109/

相关文章:

  • 长沙如何做百度的网站小型网站建设实训教程
  • 昆明网络公司网站网站建设经费请示
  • 手机端网站欣赏wordpress 文章rss
  • 做网站一定要实名认证吗国外免费空间网站申请
  • 阿里云网站空间主机长春网站建设设计
  • 龙华网站建设yihekj长沙招聘网站制作
  • 网站怎么做文本跳出来网络规划设计师有用吗
  • 室内设计网站官网大全中国那些企业做网站做得好
  • 状态管理名词解释网站开发网络营销推广方案案例
  • 做网站需要几大模板河南中国建设信息网
  • 成都温江网站建设空间网页版
  • 做美股的数据网站邢台网站建设公司哪家好一点
  • 青岛即墨网站开发查询建设用地规划许可证在哪个网站
  • 成都APP,微网站开发芜湖企业100强
  • 江门搜索引擎网站推广网约车多少钱一辆
  • 北京高端网站建设宣传请人做软件开发的网站
  • h网站建设长沙本地公众号
  • 苏州工业园区劳动局网站做不了合同建域名做网站
  • 内蒙古建设兵团网站组建网站开发团队
  • 劳务派遣做网站的好处广州最新新闻事件
  • 海兴网站建设公司网站建设原则
  • 网站建设完不管了自己怎么接手wordpress个人主页
  • 具有品牌的网站建设霞浦建设局网站
  • 推荐个网站免费的wordpress force ssl
  • app网站搭建做英文网站的心得
  • 东莞企业网站制作推广运营多样化的网站建设公司
  • 深圳做网站那里好提交网址给百度
  • 泰州企业建站系统中企动力科技做什么的
  • 唐山公司网站建设 中企动力唐山宽带动态ip如何做网站访问
  • 个人商城网站怎么做电商网站及企业微信订烟