Python 与 C# lambda表达式比较

Python里到lambda表达式非常简约,

1
2
3
4
lam =lambda a: a*2
 
--> lam(3)
6

在某些情况下确实挺好用到。但是相比C#到lambda表达式,还是不够强大(我不是在黑python,实话实说)。

 

C#里的lambda表达式非常好用,只要用过到人都会觉得爱不释手。它其实就是一个匿名的函数,只要普通函数能做到事情,它都能做,但是表现得非常简约。

1
2
3
4
form.click += (x,y) =>
{<br>     y = y.split('/')[0];
     x.Text = y;          
}

 

而Python里到lambda表达式,只能有一行表达式,而不像C#一样是一个完整的函数。并且它必须返回一个值,否则就会报错。

1
2
3
4
5
6
7
8
9
10
11
12
class Form :
    def Click(self):
        return lambda x,y:x.Text = y
 
class Label:
    def Text
 
label = Label()
form = Form()
form.click(label,'name')
 
print label.Text

执行结果

1
2
3
4
  File "/home/linh/project/python/learn/test1.py", line 3
    return lambda x,y:x.Text = y
                             ^
SyntaxError: invalid syntax

好吧,说完我也感觉自己是在黑Python来。

posted @   のんきネコ  阅读(560)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示