python def和lambda的一點心得

2022-05-11 20:48:11 字數 1002 閱讀 9353

原文:

python defpython lambda這2個有相似點也有不同點,今天給大家分享下自己的心得吧。

先說說2個的相似點: 這兩個很重要的相似點就是都可以定義一些固定的方法或者是流程,供給程式來呼叫,比如我們要定義乙個變數加2的方法。

首先看python def吧。

definfo(x

):returnx+

2a=info(1)

print

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

():print

'haha'

else

:def

test

():print

'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...