美文网首页
python lambda 小函数

python lambda 小函数

作者: 积土成城 | 来源:发表于2018-11-05 19:04 被阅读0次

今天遇到个 比较坑的代码, 以为结果是 [0,2,4,6] 结果发现不是

过程如下:

版本1:

def multipliers():
    return[lambda x :i*x for i in range(4)]
    
print([m(2) for m in multipliers()])

版本2:

def multipliers():
    return[(lambda x :i*x) for i in range(4)]
    
print([m(2) for m in multipliers()])

版本3:

def multipliers():
    z;
    a=[]
    for i in range(4):
       z=i:
       a.append(lambda x :z*x)
    return a

for m in multipliers():     # m   是匿名函数    def  nn(x):  return x*z     (z=3)    
    print(m(2))

结果是 [6,6,6,6]

lambda 说明
python 使用 lambda 来创建匿名函数。
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
lambda 只是一个表达式,函数体比 def 简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

相关文章

  • Python lambda函数

    lambda函数 在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为...

  • 用Python进行数据分析3.2 函数 0705

    Lambda函数 210705Python支持所谓的匿名lambda函数。lambda函数是一种通过单个语句生成函...

  • Python之lambda表达式

    ---Python之lambda表达式(创建匿名函数) Python允许使用lambda关键字来创建匿名函数。 先...

  • 4.函数

    函数 1 创建函数与调用 1.1 lambda函数 python允许使用lambda关键字创建匿名函数。lambd...

  • python lambda 小函数

    今天遇到个 比较坑的代码, 以为结果是 [0,2,4,6] 结果发现不是 过程如下: 版本1: 版本2: 版本3:...

  • 2018-07-25Python(7)

    python基础语法(7) 函数下 lambda函数lambda函数有自己的作用域。代码示例:def makeAc...

  • lambda

    lambda: python 使用 lambda 来创建匿名函数。 语法: lambda [arg1 [,arg2...

  • Scala学习笔记:函数编程&集合

    Functional Programming lambda 匿名函数(至少python是叫lambda)算是FO的...

  • Python中的lambda函数

    Python中的lambda函数 在Python中,我们使用lambda关键字来声明一个匿名函数,这就是为什么我们...

  • lambda函数

    lambda函数是python的匿名函数,没有函数名 等同于

网友评论

      本文标题:python lambda 小函数

      本文链接:https://www.haomeiwen.com/subject/yoqexqtx.html