Python 与 C# lambda表达式比较

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

lam =lambda a: a*2



--> lam(3)

6

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

 

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

form.click += (x,y) =>

{
y = y.split('/')[0]; x.Text = y; }

 

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

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

执行结果

  File "/home/linh/project/python/learn/test1.py", line 3

    return lambda x,y:x.Text = y

                             ^

SyntaxError: invalid syntax

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

你可能感兴趣的:(python)