python的函数和方法(中)

 更新时间:2021年11月15日 09:28:08   作者:Tallbo  
这篇文章主要为大家详细介绍了python的函数和方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

匿名函数

1.什么是匿名函数

lambda是个匿名函数,也是一个表达式,是函数的最小作战单元

匿名函数顾名思义,就是“无名”函数

匿名函数适用于简单的业务逻辑

一行一个函数

通俗的说逻辑不复杂,不需要大规模批量调用的功能可使用匿名函数构建,匿名函数的书写特性决定其简易性

#lambda简约而不简单

注意lambda是 python的一个关键字,用于声明一个匿名函数

**匿名函数的难点不在于其构建本身,在于其组合使用的难度!

2.如何声明/调用一个匿名函数(lambda)

#传统函数:
def add(num1):
	return num1 * 2
调用:add(2)
输出:4
def add(num1,num2):
	return num1 + num2
调用:add(1,2)
输出:3
#匿名函数:
result = lambda x: x*2
调用:result(2)
输出:4 
result = lambda x,y: x+y
调用:result(x=1,y=2)
输出:3

3.匿名函数的几种使用方式

#1、匿名函数组合三目运算
传统函数
def compare(x,y):
	if x > y:
		return x
	else:
		return y
调用:compare(2,1)
输出:2
匿名函数
compare = lambda x,y: x if x > y else y
调用:compare(2,1)
输出:2
#2、把lambda作为一个方法传入传统函数
schools = ["Python基础",
		   "Python爬虫",
		   "Java编程",
		   "Java Web",
		   "Python数据分析"
]
def keyword_serch(keys,func):
	search_result= []
	for result in keys:
		if func(result):
			search_result.append(result)
	return search_result
condition = lambda x: True if "Python" in x else False
调用:keyword_serch(schools,condition)
输出: ["Python基础","Python爬虫","Python数据分析"]
#3、如何给def函数中的lambda传参数?
def main():
	return lambda x: True if x == 10 else False
			(如果x等于10返回真,否则为假)
调用:main()(10) 
	执行main函数,但是main不需要传参;
	第二个括弧则是为lambda传送的x的参数
输出:True
#4、把lambda作为一个方法传入传统函数
def income(basic,transport,phone):
	return lambda x: x+basic+transport+phone
调用:total = income(1000,2000,3000)
	 total(4000)
输出:10000
schools = ["Python基础",
		   "Python爬虫",
		   "Java编程",
		   "Java Web",
		   "Python数据分析"
]
def keyword_search(keys,func):
	search_result= []
	for key in keys:
		if func(key):
			search_result.append(key)
	return search_result
def search_condition(c):
	return lambda x: True if c in x else False
python = search_condition("Python")
调用:keyword_search(schools,python)
输出:["Python基础","Python爬虫","Python数据分析"]

4.匿名函数的组合使用

在这里插入图片描述

map函数

在这里插入图片描述

在这里插入图片描述

filter函数

在这里插入图片描述

在这里插入图片描述

reduce函数

在这里插入图片描述

在这里插入图片描述

sorted函数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • python [:3] 实现提取数组中的数

    python [:3] 实现提取数组中的数

    今天小编就为大家分享一篇python [:3] 实现提取数组中的数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python爬虫之Selenium设置元素等待的方法

    Python爬虫之Selenium设置元素等待的方法

    这篇文章主要介绍了Python爬虫之Selenium设置元素等待的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 学习Python爬虫的几点建议

    学习Python爬虫的几点建议

    这篇文章主要介绍了学习Python爬虫的几点建议,对新手学习爬虫有很大的帮助,感兴趣的朋友可以了解下
    2020-08-08
  • Python内置方法实现字符串的秘钥加解密(推荐)

    Python内置方法实现字符串的秘钥加解密(推荐)

    在Python中实现AES算法需要借助的第三方库Crypto,其在各个操作系统上的安装方法有些许复杂,所以对于简单的使用有点杀鸡用牛刀的意思。这篇文章主要介绍了利用Python内置方法实现字符串的秘钥加解密,需要的朋友可以参考下
    2019-12-12
  • Python函数参数分类使用与新特性详细分析讲解

    Python函数参数分类使用与新特性详细分析讲解

    在声明函数的时候,一般会根据函数所要实现的功能来决定函数是否需要参数。在多数情况下,我们声明的函数都会使用到参数,这篇文章主要介绍了Python函数参数
    2023-01-01
  • 最新PyCharm 2021.3.1永久激活码(亲测有效)

    最新PyCharm 2021.3.1永久激活码(亲测有效)

    今天又有朋友反应PyCharm2021提示激活码过期了,下面再为大家分享一个2022年01月08日更新PyCharm2021最新激活码,需要的朋友可以参考下
    2020-11-11
  • python中threading和queue库实现多线程编程

    python中threading和queue库实现多线程编程

    这篇文章主要介绍了python中threading和queue库实现多线程编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 将keras的h5模型转换为tensorflow的pb模型操作

    将keras的h5模型转换为tensorflow的pb模型操作

    这篇文章主要介绍了将keras的h5模型转换为tensorflow的pb模型操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python OpenCV计算图片相似度的5种算法

    python OpenCV计算图片相似度的5种算法

    本文主要介绍了python OpenCV计算图片相似度的5种算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法

    tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法

    今天小编就为大家分享一篇tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07

最新评论