python :lambda expression

前言

感觉最近刷leetcode遇到瓶颈了,怎么看都不会orz。可能需要补一补基础知识,尤其是数据结构方面的知识。还有各种语法什么的。。。
感觉东西真的好多,自己接触到的真的是非常基本的东西。不敢说自己会python,也不敢说自己会c语言了。
我觉得现在的学习思路就是,学一学知识,再实践实践,实践不下去了,再继续学习基础知识。觉得这样结合也不错,可能挺适合我的。
所以今天就从一个独立的小知识点,lambda表达式开始入手叭。

参考

link

是什么?

感觉就是函数业务逻辑很简单的时候,可以用一种更为简单的格式来定义函数。而且这个函数可以没有名字(匿名函数),某些情况更加地方便,不会有杀鸡焉用宰牛刀的感觉。

格式

lambda(参数...):表达式

用途

  1. 某些地方不能用def
  2. 编写跳转表

跳转表
gcc编译器根据case的数量与case值的稀疏程度来翻译开关语句。 当case的数量比较多,并且case值稀疏比较小时, 才会使用跳转表。 否则使用普通跳转,相当与if-else。

  1. 嵌套使用(尽管不建议)
  2. 在函数式编程(函数作为参数传入)的时候也有奇效。
  3. 闭包。使得变量即使脱离了该函数的作用域范围也依然能被访问到。

当函数可以记住记住并访问所在的词法作用域,即使函数是在当前词法作用域之外执行,就会形成闭包
感觉像是函数套函数,然后分别赋值变量

>>> def my_add(n):
...     return lambda x:x+n
>>> add_3 = my_add(3)
>>> add_3(7)
10
发布了74 篇原创文章 · 获赞 4 · 访问量 1445

猜你喜欢

转载自blog.csdn.net/weixin_44814121/article/details/100900578