zoukankan      html  css  js  c++  java
  • python lambda简单介绍

    python lambda

    在python中,如果想要创建函数需要使用关键字def,而如果想要创建匿名函数,就需要使用lambda。

    lambda创建的函数和def创建的函数有什么区别?

    1. def创建的函数是有名称的,而lambda没有
    2. lambda会创建一个函数的对象,但是却不会把对象给一个标识符,而def 会把函数对象赋值给一个变量
    3. def 是一条语句,而lambda它只是一个表达式

      y = lambda x:print(x)
      y(10) # 10

    例如上面,通过lambda创建了一个表达式,x相当于形参,代码整体来看非常的简单高效。

    通常情况下,lambda 可以直接作为列表或者字典的成员,如下:

    # 创建一个列表,将通过表达式lambda创建的表达式当做列表中的元素
    list_test = [lambda a:a*3,lambda b:b*4]
    # 给列表中设置值
    x = list_test[0](3)
    y = list_test[1](2)
    print(x,y) # 9 8 

    那么相同的操作,在列表中,只能够使用lambda,没有办法使用def替代,因为def是语句,在列表中只能够是表达式。而lambda表达式在“:”之后只能有一个表达式,通常情况下,return语句能够返回的可以放在lambda后面,不能够返回的同样也不能够放在其后。因此,最好不要将if或者for这样的语句放在lambda表达式的后面,lambda最好只用来定义一些简单的函数。

  • 相关阅读:
    C 语言学习 --3
    C 语言学习 --2
    C 语言学习 -1
    C 语言学习 说明
    神经网络5:循环神经网络1
    神经网络4:卷积神经网络学习 2
    神经网络3:神经网络学习 1
    神经网络2:卷积神经网络学习 1
    神经网络 1 : 卷积神经网络CNN 、 循环神经网络 RNN
    轮播swiper配置选项
  • 原文地址:https://www.cnblogs.com/yujihaia/p/7468228.html
Copyright © 2011-2022 走看看