ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 中lambda函数的用法

2022-06-11 18:34:26  阅读:189  来源: 互联网

标签:11 函数 python wrapper 用法 作用域 adder lambda


lambda函数

匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。
lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。

语法:

lambda _arguments_ : _expression_

实例

一个 lambda 函数,它把作为参数传入的数字加 10,然后打印结果:

x = lambda a : a + 10
print(x(5)) # 15

python中的4种作用域:
L:Local,局部作用域,也就是我们在函数中定义的变量;
E:Enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;
G:Globa,全局变量,就是模块级别定义的变量;
B:Built-in,系统内置模块里的变量,比如:int,bytearray等

变量作用域LEGB原则:
查找顺序:Local>Enclosing>Global>Built-in

闭包

如果一个函数内部又定义了一个函数,就把外部函数称为外函数,内部的函数称为内函数。如果内函数引用了外函数的变量,而外函数返回内函数(引用),就把这种形式称之为 闭包。并且当外函数结束时会将变量绑定给内函数。

def adder(x):
     def wrapper(y):
        return x + y
     return wrapper
adder5 = adder(5) # x=5,y;adder5(6)=wrapper(x=5,6) = 11
print(adder5(adder(6))) # adder(11) = wrapper(x=5,11) = 5+11= 16

标签:11,函数,python,wrapper,用法,作用域,adder,lambda
来源: https://www.cnblogs.com/7xiaomao/p/16366466.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有