原文:
python def和python lambda這2個有相似點也有不同點,今天給大家分享下自己的心得吧。
先說說2個的相似點: 這兩個很重要的相似點就是都可以定義一些固定的方法或者是流程,供給程式來呼叫,比如我們要定義乙個變數加2的方法。
首先看python def吧。
definfo(x
):returnx+
2a=info(1)
a再看下python lambda
f = lambda x : x+2
a = f(1)
print a
上面2種方式輸出的結果都是3,如果你要完成一些固定的流程的話,上面兩種你都可以任意選擇。
上面說到了相同點,現在說說不同點吧。
它們的主要不同點是python def 是語句而python lambda是表示式,理解這點對你了解它們很重要。 下面看看他們的應用吧。
首先在python 裡面語句是可以巢狀的,比如你需要根據某個條件來定義方法話,那只能用def了。
你用lambda就會報錯了。a=
2ifa>1:
definfo
'haha'
else
:def
test
'test'
而有的時候你需要在python 表示式裡操作的時候,那需要用到表示式巢狀,這個時候python def就不能得到你想要的結果,那只能用python lambda
下面給個例子:
g = lambda x : x+2
info = [g(x) for x in range(10)]
print info
通過上面的例子,希望你能很好的理解python def和lambda的相同和不同點。如果你對python函式感興趣的話,可以看看: python 函式返回值 ,python 函式引數
python def 函式構造
def 函式構造 1 def 是乙個宣告 格式 def xxname xxtype 位置引數,關鍵字引數 2 def 宣告的作用 給下面的 塊 命乙個名。在隨後呼叫該宣告名稱時 複製 塊 到呼叫位置。3 def 宣告的引數 a 位置引數 b 關鍵字引數 1 關鍵字引數 預設引數肯定是乙個關鍵字引數 ...
python學習之map函式和lambda函式
map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。map function,iterable,在map中,不會對itetable進行修改 def fun x return 2 x t ...
內建函式filter 和匿名函式lambda解析
一.內建函式filter filter 函式是 python 內建的乙個高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回由符合條件迭代器 python3以下版本返回是列表 語法 filter function or none,iterabl...