首页 > 编程语言 >Python高级之匿名函数

Python高级之匿名函数

时间:2024-05-09 15:12:05浏览次数:23  
标签:函数 Python add 匿名 参数 print lambda

【一】匿名函数的定义

  • 在 Python 里有两类函数:
    • def 关键词定义的正规函数
    • lambda 关键词定义的匿名函数
lambda 参数: 表达式
  • lambda:定义匿名函数的关键词。
  • 函数参数它们可以是位置参数、默认参数、关键字参数
  • 表达式,输入函数参数,输出一些值,表达式本身结果就是返回值

【二】匿名函数的使用

【1】有名函数

def add(x):
    return x + x


print(add(5)) # 10

【2】单参数匿名函数

def add(x):
    return x + x


add = lambda x: x + x
print(add(6))  # 12

【3】多参数匿名函数

def add(x, y):
    return x * y


# 这是一个匿名函数 变量名 = lambda 参数1,参数2 : 返回值
res = lambda x, y: x * y
print(res(5, 6))  # 30

【4】多参数解包

def add(*args):
    return sum(args)


# 这是一个匿名函数 变量名 = lambda 传进去的参数 : 内置函数sum(计算参数的和)
# *args:在形参中表示一个元祖 (1,2,3) 在实参中表示将元祖拆解成一个个参数传入到函数中
add_lba = lambda *args: sum(args)
print(add_lba(1, 2, 3, 4, 5))  # 15

【5】高阶函数

  • 常用在高阶函数

(1)过滤函数(filter())

  • filter(函数, 可迭代对象) 过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
odd = lambda x: x % 2 == 1
templist = filter(odd, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(templist))  # [1, 3, 5, 7, 9]

(2)映射函数(map())

  • map(函数, 可迭代对象) 根据提供的函数对指定序列做映射。
m1 = map(lambda x: x ** 2, [1, 2, 3, 4, 5])
print(list(m1)) # [1, 4, 9, 16, 25]

m2 = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
print(list(m2)) # [3, 7, 11, 15, 19]

标签:函数,Python,add,匿名,参数,print,lambda
From: https://www.cnblogs.com/ligo6/p/18180002

相关文章

  • Python高级之函数对象与闭包函数
    【一】函数对象函数对象是指函数可以被当成数据来处理,python中一切皆为对象【1】函数可以被引用defadd(a,b):returna+bres=add(3,4)print(res)#7【2】函数作为容器类型的元素defadd(a,b):returna+bnum_list=[add,1]res=num_list[0......
  • Python高级之函数的参数
    【一】形参和实参函数的参数分为形参和实参,形参就是定义在函数名后面括号里的参数(用来接收外部传来的值),实参就是调用函数时,括号里传进去的值(值可以是常量、变量、表达式)defadd(x,y):returnx+y#实参是常量print(add(3,4))#输出7#实参是变量x=3y=4prin......
  • Python高级之函数
    【一】函数的基本使用我们在前面的学习中,所有的功能代码都集中在一块,需要使用同一功能时,需重复编写该功能的代码,这样比较麻烦,当我们到后面代码变得越来越长,也不利于我们修改其中一个小功能的代码我们完全可以从现实生活中找到简化程序设计的方案:比如一个修理工会事先准备好螺......
  • xlwings:在Excel中集成Python
    Github地址:https://github.com/xlwings/xlwings在现代数据分析和报表生成中,MicrosoftExcel仍然是一款非常流行和强大的工具。与此同时,Python作为一种高级编程语言,具备出色的数据处理和分析能力。那么,有没有一种方法可以将Excel和Python完美结合,以发挥它们各自的优势?答案是肯定的......
  • pybuilder:Python项目构建、测试、文档、发布
    Github地址:https://github.com/pybuilder/pybuilder在Python项目开发中,良好的构建和自动化流程是非常重要的。PyBuilder是一个用于构建Python项目的工具,它提供了简单易用的方式来定义和管理项目的构建过程,包括依赖管理、测试、代码质量检查等。本文将深入探讨PyBuilder库的使用......
  • Python 如何优雅的操作 PyMySQL
    一、PyMysql在使用Python操作MySQL数据过的过程中,基本的增删改查操作如何更加高效优雅的执行。这里将以PyMySQL为例,介绍一下如何使用Python操作数据库。Python对MySQL数据库进行操作,基本思路是先连接数据库Connection对象,建立游标Cursor对象,然后执行SQL语句对数据库进行操作......
  • 7个鲜为人知的 Python 好库!
    https://mp.weixin.qq.com/s/eY1QXpwbTNSOd08Wfpg4sQ①-PivotTableJS无需任何代码就可以在JupyterNotebook中交互式地分析数据。https://pypi.org/project/pivottablejs/②-PyTube只需5行代码就可以下载油管视频。可能这个是国内用户最用不到的Python库了。https://pytu......
  • 四款强大的 Python 可视化库
    ......
  • nicegui:Python 图形界面库,简单好用
    前言在现代计算机应用程序开发中,图形用户界面(GUI)是用户与程序交互的重要组成部分。然而,GUI开发往往需要大量的代码和复杂的布局,给开发者带来了一定的挑战。在本篇博文中,将介绍nicegui,它是一个简单易用的图形用户界面库,提供了一种简化GUI开发的方式,使开发者能够更快速地构建吸......
  • locust:Python 分布式压力测试(带WebUI)
    Locust介绍它采用纯Python实现,是一个分布式用户负载测试的工具。使用基于Requests库的客户端发起请求,使编写脚本大大简化;在模拟并发方面摒弃进程和线程,完全基于时间驱动,采用协程(gevent)提供的非阻塞IO和coroutine来实现网络层的并发请求。因此单台压力机也能产生数千......