python 基礎 學習 lambda

Lambda表達式

    匿名函數

        -lamdba函數是一種快速定義單行的最小函數,是從Lisp借用來的,可以用在任何需要函數的地方。

        例子:

                函數:

                >>> def fun(x,y):
                ...     return x*y
                ... 
                >>> fun(23,2)
                46
                lambda

                 lambda x,y:x*y  

#lambda 函數; x第一個參數,y第二個參數 ;x*y操作類型;
如果使用函數返回的對象,還需要一個接受的變量
>>> a=lambda x,y:x*y
>>> a(2,3)6

優勢:

          使用python編寫一些執行腳本時,lambda可以省去定義函數的過程,讓代碼更加精簡。

          對於抽象,不需要複用的函數,定義名稱時比較困難,使用lambda不需要考慮名稱的命名;

          使用lambda 可以讓代碼更加容易理解;

lambda 基礎

          lambda  語句中,冒號前是參數,可以用多個,用逗號分隔,冒號右邊是返回值。

          lambda 語句構建的其實是一個函數對象;;

>>> lambda x,y:x*y
<function <lambda> at 0x7f9bed0d3578>
>>> a=lambda x,y:x*y
>>> a
<function <lambda> at 0x7f9bed0e58c0>
>>> a(2,2)
4

lambda應用實例:

    reduce 爲逐次操作list裏的每項,接受的參數爲2個,最後返回的爲一個結果

乘積
>>> l=range(1,6)
>>> l
[1, 2, 3, 4, 5]
>>> def f(x,y):
...     return x*y
... 
>>> reduce (f,l)   #將函數f,作用於l序列
120
轉換
>>> f=lambda x,y:x*y
>>> reduce (f,l)
120
>>> reduce(lambda x,y:x*y,l)  #l列表
120
>>>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章