在任何实时应用或复杂活动中,程序员都会遇到“函数块”这个概念。函数块通过简化代码,使得复杂的操作看起来简单,从而让工作更加轻松和优雅。
函数是包含几个结构化代码语句的代码块,它在被调用时工作,并且可以在程序中被调用多次。函数执行特定的操作,并且可以随时使用。上述图表中详细描述了函数的功能。
从函数声明中可以看出,有两个关键参数:1. 函数名(描述函数用途的简单名称)2. 参数(在调用函数时可以赋予值)。编写函数时,“def”关键字至关重要;它创建了函数和函数体,解释了动作或特定函数将执行什么操作。最后,“return”语句用于打印值。因此,上述方法可以用于任何Python函数。
基于之前的描述,对函数的工作方式有了很好的理解,现在将探讨函数是如何分类的。
1. 用户自定义函数(USF) - 编写函数的自定义方式。2. 内置函数(BiF):不能自定义,需要按照其提供的方式使用。
与def不同,这个函数没有名称。它简单直接,只需要参数和表达式,以及lambda关键字,并且只需要一行代码。它本质上是第二种写函数的方式。此外,这个函数只返回表达式而不是数据。它限制在一行内,并且参数数量与之前相同。
下面的动画gif展示了def和lambda函数的工作方式。
Python不是唯一支持Lambda的语言。美国数学家和逻辑学家Alonza Church在1930年做出了重要贡献 - 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。
如果需要使用一个函数但不想使用def或无名条件,lambda是方法。临时或偶尔使用是第二个重要用途。这个函数可以与其他高阶函数如map(),apply(),reduce()等一起使用。
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是参数的结果。
与其他主题不同,这里没有特定的应用;范围是唯一的应用,正如将通过一些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()和条件表达式。
假设在2021年之后,所有企业都决定无论他们的经验和领域特定如何,都提高他们的业绩5500,有很多方法可以实现这一点,但为了保持简单和简洁,使用一个叫做Apply()的函数。
data['income'] = data.apply(lambda i: i['income'] + 5500, axis=1)
这个想法很容易理解;正在努力提高Dataframes数据的收入列(axis=1),而不是其他列。
如果需要查看上述Dataframes数据中经验超过5年的人员,可以使用Filter函数。
list(filter(lambda i: i > 5, data['Experience']))
这个想法也相当简单;需要过滤候选人的经验超过5年,并解释多少年?除了lambda函数。
如果是这种情况,那么Map()函数被用来处理它,以提高员工满意度,通过评估提高15%。
data['income']=list(map(lambda i: int(i+i*0.15),data['income']))
这个想法是,Map()函数用于处理它,以提高员工满意度,通过评估提高15%。
假设Dataframes中的名称是朋友,如果需要确定他们的总薪水,将使用reduce()函数来处理它,为了使用这个函数,将需要使用functools库。
import functools
functools.reduce(lambda a,b: a+b,data['income'])
这只是66786+73398+106461+113073+119686 = 479404的加法。它类似于加法函数。
条件语句,如if…then,if…then,if…then,for循环和while循环,使程序更有趣和健壮。当涉及到语句时,由于这种情况,lambda函数更强大。
data['category']=data['Experience'].apply(lambda x: 'Expert level' if x>=5 else 'Begineer')
这个想法是,需要根据他们的经验建立专业水平的类别条件。
另一个重要的应用是在这个函数中使用def函数。
def ads(x):
return (lambda y:x+y)
a = ads(4)
print(ad(8))
12。
将看看一些区分Lambda函数和其他类型函数的特点。
1. 易于创建函数。2. 变量选项少。