IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 高阶函数 -> 正文阅读

[Python知识库]python 高阶函数


前言

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


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

一、高阶函数

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)

等我回忆起来了补上,见谅了~
在这里插入图片描述

总结

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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:25:08  更:2021-09-23 11:26:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:48:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码