【Python 高级特性】匿名函数:用完即走的一次性函数
伟大的钓手o:
lambda函数多用于你调用的function的某个param必须是func,且这个function的实现很简单,如果多于一行或者不易读还是重新写一个方法吧
贝湖光:
补充一个lambda的作用,计算函数不动点。这是递归程序的原理之一。
【回复】高情商:可读性有点差
低情商:看不懂[doge]
【回复】回复 @薄冰- :你是指一行流不方便读?当然也可以定义成普通函数的样子。
def fix(f):
def fg(*args):
return (g(*args))
g = f(fg)
return g
浠浠浠浠浠浠浠浠浠呀:
很喜欢这种省时间,还优质的学习内容,作为学生受益多多[大笑]
石淡礼:
lambda函数的参数,应该不需要再用typing来注释了吧
【回复】应该是没有办法再type hint了,如果在有函数名的情况下倒是可以通过Callable[【int, int】, int]这样的格式
木昕不是木日斥:
感觉lambda不如箭头函数。py应该是在模仿lambda演算,但是毕竟是个命令式,还是箭头函数舒服
【回复】回复 @木昕不是木日斥 :不高贵,但箭头函数和py的lambda区别就在于,箭头函数支持语句块,lambda只支持表达式。而原始λ就是表达式。也就是说,箭头函数之所以比lambda好用,正是因为它更接近命令式,我只是在说明这一点。
【回复】py的lambda除了要打六个字母比较麻烦之外,实际上比js的箭头函数更接近lambda演算。
【回复】回复 @贝湖光 :形式上接近而已,都是命令式语言,谁能比谁高贵、、
要是能支持lambda a, b: ab这种符号演算那另说、、
淳朴好少年:
Up可以分享一下自己装了哪些插件吗,甚至可以专门出一期讲环境搭建
I_a_NC:
如果你用pycharm的话,他会告诉你不应该给lambda函数赋值(也就是不要给一个匿名函数取名),因为这样不规范[doge]
【回复】defeat its purpose了是吧[doge]
Sheep7Aolryse:
Python的lambda:f = lambda a, b : a + b
C++的lambda:function<int()> f = 【=】() mutable throw() -> int {
return a + b;
}
想佛了:
语法格式
1. lambda input_value: output_value
2. lambda input_tuple: output_tuple
【回复】input tuple不一定要 out tuple🥸