栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 高阶函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 高阶函数

文章目录
  • 前言
  • 一、高阶函数
    • 1.1 定义:
    • 2.1 理解:
  • 二、内置函数
    • 1.map 函数
      • 1.1 定义:
      • 1.2 运用:
      • 1.3 理解:
      • 1.3小节:
    • 2.filter 函数
      • 2.1 定义:
      • 2.2理解:
    • 3. reduce 函数
      • 3.1 定义:
  • 总结


前言

学而时习之,不亦说乎,本篇文章主要说一下高阶函数,喜欢的话,记得点个赞奥~


能力有限,阅知有限,不过后面我会常回家看看,有补充的再补上奥,大家有好的知识可以留言评论区哟

一、高阶函数 1.1 定义:

如果一个函数的参数是函数,那么此函数就叫高阶函数

例:

def f1(a):
    a()

def f2():
    print('f2')
f1(f2)

案例:

# 例:只定义一个函数,解决两个数的加减乘除的问题

def do_everthing(a,b,fn):
    return fn(a,b)
res=do_everthing(10,5,lambda n1,n2: n1+n2)
print(res)
res =do_everthing(10, 5, lambda n1,n2: n1 - n2)
print(res)
res =do_everthing(10, 5,lambda n1,n2: n1 * n2)
print(res)
res =do_everthing(10, 5,lambda n1,n2: n1 / n2)
print(res)

2.1 理解:

高阶函数让代码变得简洁优雅,配合lambda函数更好的体现它的优点

二、内置函数 1.map 函数 1.1 定义:

1)函数名称:map
2)参数两个
参数1:一个函数
参数2:是一个可以遍历的序列,如列表、集合、字典等
3)返回值:map object,是一个对新对象的引用

1.2 运用:
l3 = ["a","B","C","d"]

def uppers(a):
    if a.islower():
        return a.upper()
    else:
        return a.lower()

res = map(uppers,l3)
print(list(res))      # 本题使用“map”函数,将大写转小写,小写转大写

# res1 = map(lambda a:a.upper() if a.islower() else "",l3)
# print(list(res1))    # 用 "lambda" 表达式改写

1.3 理解:

1)map 函数内部会将 uppers 函数执行多次(次数=列表 l3 中元素个数)
2)每次执行 uppers 函数时,形参 a 会被按顺序赋值为 l3 列表中的元素
3)uppers 函数的返回值,会被 map 函数放到一个新的序列中

思考一下:新列表与原列表的元素数量一致:为什么?
原列表中有几个元素,uppers 函数就会执行几次
uppers 函数执行几次,就会 return 几个数据
而返回的数据又被添加到新列表中,所以一致

1.3小节:

map 函数的扩展性做的非常好:可以使用 set、list、tuper 函数将返回值转换为自己想要的数据类型

2.filter 函数 2.1 定义:

直接上例子:
将列表中所有大于10的数字放到一个新列表中

l1 = [10, 20, 4, 5, 60]


""" map 函数解决"""
# def filter10(x):
#     if x > 10:
#         return x
#     else:
#         return ''
#
#
# res = map(filter10, l1)
# print(list(res))

def filter10(x):
    if x > 10:
        return x

"""filter 函数解决"""
# res = filter(filter10, l1)
res = filter(lambda x: x if x > 10 else '', l1)
print(list(res))
2.2理解:

如果想将列表中部分符合条件的元素筛选出来,就使用 filter 方法

3. reduce 函数 3.1 定义:
import  functools

list = [1,2,3,4,5]

def func(a,b):
    return a+b
result = functools.reduce(func,list)
print(result)

等我回忆起来了补上,见谅了~

总结

本篇文章主要是说 高阶函数, 内置函数能者多劳哈

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269710.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号