python的函数和方法(中)

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网
目录
  • 匿名函数
    • 1.什么是匿名函数
    • 2.如何声明/调用一个匿名函数(lambda)
    • 3.匿名函数的几种使用方式
    • 4.匿名函数的组合使用
  • 总结

    匿名函数

    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函数

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    总结

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

    【本文由:日本cn2服务器 提供 转载请保留URL】