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

服务类网站开发/谷歌app官方下载

服务类网站开发,谷歌app官方下载,石狮网站,公司文化的建设对个人的意义Python函数式编程 、高阶函数学习一、匿名函数键字lambda表示匿名函数,冒号前面的x表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名…

Python函数式编程 、高阶函数学习

一、匿名函数

键字lambda表示匿名函数,冒号前面的x表示函数参数。

匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:

# 匿名函数

## 定义一个普通函数

def add(x,y):

return x + y

# lambda 表达式 代表匿名函数

f = lambda x,y: x + y # 冒号后面必须是表达式

# 调用普通函数

print(add(1,2)) # 3

print(f(1,2)) # 3

def is_odd(n):

return n % 2 == 1

L = list(map(lambda x : x%2==1,range(1, 20)))

print(L)

二、三元运算符

# 三元表达式

x = 2

y = 1

# 条件为真时的返回结果 if 条件表达式 else 条件为假时的返回结果

y = x if x > y else y

print(y) # 2

三、map()、reduce()、filter()函数

1、map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

1、将例表中的元素平凡返回出来

1、使用匿名函数和map函数实现

list_x = [1,2,3,4,5,6]

l = list(map(lambda x: x * x, list_x))

print(l) print(l) # [1, 4, 9, 16, 25, 36]

2、使用普通函数实现

def squ(x):

return x* x

p = list(map(squ,list_x))

print(p) # [1, 4, 9, 16, 25, 36]

2、reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算.

from functools import reduce # 导入reduce模块

# 求例表中元素的和

list_l = [1,2,3,4,5,6,7,8,9]

p = reduce(lambda x,y:x+y,list_l)

print(p) # 45

3、Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

filter()的作用是从一个序列中筛出符合条件的元素。由于filter()使用了惰性计算,所以只有在取filter()结果的时候,才会真正筛选并每次返回下一个筛出的元素。

# 将0剔除

list_y = [1, 0, 0, 0, 1, 2, 0]

p = list(filter(lambda x: x != 0, list_y))

print(p)

四、装饰器

装饰器实际上就是为了给某程序增添功能,但该程序已经上线或已经被使用,那么就不能大批量的修改源代码,这样是不科学的也是不现实的,因为就产生了装饰器,使得其满足:

不能修改被装饰的函数的源代码

不能修改被装饰的函数的调用方式

满足1、2的情况下给程序增添功能

1、普通用法

import time

def decorator(func):

def wra():

print(time.time())

func()

return wra

def fun1():

print('执行的函数')

f = decorator(fun1)

f()

2、装饰器用法

import time

def decorator(func):

def wra():

print(time.time())

func()

return wra

@decorator # 装饰

def fun1():

print('执行的函数')

fun1()

带参数的调用

import time

def decorator(func):

def wra(*args): # 接受一个可变参数

print(time.time())

func(*args)

return wra

@decorator # 装饰

def fun1(func_name):

print('执行的函数' + func_name)

@decorator # 装饰

def func2(func_name1,func_name2):

print('执行的函数' + func_name1 + '--' +func_name2)

fun1('111')

func2('11', '225')

支持关键字参数

import time

def decorator(func):

def wra(*args,**kw):

print(time.time())

func(*args,**kw)

return wra

@decorator # 装饰

def fun1(func_name):

print('执行的函数' + func_name)

@decorator # 装饰

def func2(func_name1,func_name2):

print('执行的函数' + func_name1 + '--' +func_name2)

@decorator # 装饰

def func3(func_name1,func_name2,**kw):

print('执行的函数' + func_name1 + '--' +func_name2)

print(kw)

func3('11', '225',a=1,b=2,d=5)

http://www.jmfq.cn/news/5181121.html

相关文章:

  • 教你做企业网站/深圳搜索竞价账户托管
  • 晋城建设局官方网站/网站建设情况
  • 南宁网站推广¥做下拉去118cr/黄页88网
  • 搭建网站 在线浏览功能/小程序开发系统
  • 帮诈骗团伙做网站属于诈骗吗/百度网站网址是多少
  • 自己做网站推广试玩/黄页推广引流
  • 泉州小程序开发科技公司/商丘seo外包
  • 政府门户网站源代码/珠海seo关键词排名
  • 政府门户网站建设目的/关键字排名查询
  • 上海网站设计/建站abc官方网站
  • 本地linux做网站/做百度推广多少钱
  • 汕头网站推广排名/千部小黄油资源百度云
  • 如何做网站公司/网站平台都有哪些
  • 体育网站怎样做香功/营销策略分析包括哪些内容
  • 重庆网站建设网领科技/百度联盟广告点击一次收益
  • 低价建设手机网站/百度怎么搜索关键词
  • 建网站多少费用/网站权重等级
  • 个人做网站怎么盈利/产品推广ppt范例
  • 动态网站中如何做项目栏/网上引流推广怎么做
  • 长沙长沙h5网站建设/2023年的新闻时事热点论文
  • 做媛网站/百度商家平台客服电话
  • 网站界面可以做版权吗/艾滋病多久可以查出来
  • 哈尔滨网站建设市场/最近发生的热点新闻事件
  • 泰安放心的企业建站公司/新闻稿件代发平台
  • 汽车网站建设的目的/100个免费推广网站
  • 网站背景动图怎么做/云南疫情最新消息
  • 什么网站做兼职可靠/女教师遭网课入侵视频大全
  • 心理咨询中心网站模板/2345纯净版推广包
  • 网站集约化建设情况汇报/如何写软文赚钱
  • 永年县网站/seo优化网络公司排名