函数块在编程中的应用

在任何实时应用或复杂活动中,程序员都会遇到“函数块”这个概念。函数块通过简化代码,使得复杂的操作看起来简单,从而让工作更加轻松和优雅。

函数简介

函数是包含几个结构化代码语句的代码块,它在被调用时工作,并且可以在程序中被调用多次。函数执行特定的操作,并且可以随时使用。上述图表中详细描述了函数的功能。

从函数声明中可以看出,有两个关键参数:1. 函数名(描述函数用途的简单名称)2. 参数(在调用函数时可以赋予值)。编写函数时,“def”关键字至关重要;它创建了函数和函数体,解释了动作或特定函数将执行什么操作。最后,“return”语句用于打印值。因此,上述方法可以用于任何Python函数。

函数类型

基于之前的描述,对函数的工作方式有了很好的理解,现在将探讨函数是如何分类的。

1. 用户自定义函数(USF) - 编写函数的自定义方式。2. 内置函数(BiF):不能自定义,需要按照其提供的方式使用。

Lambda函数

与def不同,这个函数没有名称。它简单直接,只需要参数和表达式,以及lambda关键字,并且只需要一行代码。它本质上是第二种写函数的方式。此外,这个函数只返回表达式而不是数据。它限制在一行内,并且参数数量与之前相同。

下面的动画gif展示了def和lambda函数的工作方式。

Python不是唯一支持Lambda的语言。美国数学家和逻辑学家Alonza Church在1930年做出了重要贡献 - Lambda演算(基于抽象目的的计算)。

Lambda函数的需要

为了减少指定功能所需的行数。这个函数之所以被使用,是因为它简单直接。与def函数不同,可以立即调用这个lambda函数(可以被调用但不是立即)。另一个重要的考虑是,当一个函数只偶尔需要而不是经常需要时。

DEF和LAMBDA函数的区别

将看看区别:基本的def函数代码,通过def,add(a,b):返回a+b。打印(add(10,43))53。基本的lambda函数代码,通过lambda,add = lambda a,b:a+b。打印(add(10,43))53。

Lambda函数的用途

如果需要使用一个函数但不想使用def或无名条件,lambda是方法。临时或偶尔使用是第二个重要用途。这个函数可以与其他高阶函数如map(),apply(),reduce()等一起使用。

如何使用Lambda函数?

Lambda函数的基本结构,a = lambda b:b ** b,其中,a = 存储结果的函数对象,lambda = 函数关键字,b = 参数,b ** b = 一行表达式。因为lambda函数将表达式与参数分开,所以lambda函数后的分号很重要(s)。

(lambda s:s/2.5)(5)2.0。在这个简单的例子中,lambda是lambda函数的关键字,s是参数,(s/2.5)是表达式,5是参数的结果。

Lambda函数的应用

与其他主题不同,这里没有特定的应用;范围是唯一的应用,正如将通过一些Python编程看到的。在探讨Lambda函数与其他函数的范围之前,首先必须建立一个Dataframes,借助pandas库,如下所示。

import pandas as pd data = pd.DataFrame({ 'S.No':[1,2,3,4,5], 'name':['Anand','Ramesh','Surya','Dinesh','Dhamu'], 'expert':['ML','DS','Network','Banking','Electronics'], 'income':[45000,50000,75000,80000,85000], 'place':['Cheyyar','Chennai','Bangalore','Malaysia','Cheannai'], 'Experience':[3,2,10,9,5] })

在构建Dataframes之后,将探讨这个函数如何用于其他任务,如Apply(),Filter(),Map(),Reduce()和条件表达式。

Lambda函数与Apply()

假设在2021年之后,所有企业都决定无论他们的经验和领域特定如何,都提高他们的业绩5500,有很多方法可以实现这一点,但为了保持简单和简洁,使用一个叫做Apply()的函数。

data['income'] = data.apply(lambda i: i['income'] + 5500, axis=1)

这个想法很容易理解;正在努力提高Dataframes数据的收入列(axis=1),而不是其他列。

Lambda函数与Filter()

如果需要查看上述Dataframes数据中经验超过5年的人员,可以使用Filter函数。

list(filter(lambda i: i > 5, data['Experience']))

这个想法也相当简单;需要过滤候选人的经验超过5年,并解释多少年?除了lambda函数。

Lambda函数与Map()

如果是这种情况,那么Map()函数被用来处理它,以提高员工满意度,通过评估提高15%。

data['income']=list(map(lambda i: int(i+i*0.15),data['income']))

这个想法是,Map()函数用于处理它,以提高员工满意度,通过评估提高15%。

Lambda函数与Reduce()

假设Dataframes中的名称是朋友,如果需要确定他们的总薪水,将使用reduce()函数来处理它,为了使用这个函数,将需要使用functools库。

import functools functools.reduce(lambda a,b: a+b,data['income'])

这只是66786+73398+106461+113073+119686 = 479404的加法。它类似于加法函数。

Lambda函数与条件语句

条件语句,如if…then,if…then,if…then,for循环和while循环,使程序更有趣和健壮。当涉及到语句时,由于这种情况,lambda函数更强大。

data['category']=data['Experience'].apply(lambda x: 'Expert level' if x>=5 else 'Begineer')

这个想法是,需要根据他们的经验建立专业水平的类别条件。

Lambda函数在用户自定义函数中的使用

另一个重要的应用是在这个函数中使用def函数。

def ads(x): return (lambda y:x+y) a = ads(4) print(ad(8))

12。

Lambda函数的优点

将看看一些区分Lambda函数和其他类型函数的特点。

1. 易于创建函数。2. 变量选项少。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485