Python学习笔记:匿名函数
前言
最近在學習深度學習,已經跑出了幾個模型,但Pyhton的基礎不夠扎實,因此,開始補習Python了,大家都推薦廖雪峰的課程,因此,開始了學習,但光學有沒有用,還要和大家討論一下,因此,寫下這些帖子,廖雪峰的課程連接在這里:廖雪峰
Python的相關介紹,以及它的歷史故事和運行機制,可以參見這篇:python介紹
Python的安裝可以參見這篇:Python安裝
Python的運行模式以及輸入輸出可以參見這篇:Python IO
Python的基礎概念介紹,可以參見這篇:Python 基礎
Python字符串和編碼的介紹,可以參見這篇:Python字符串與編碼
Python基本數據結構:list和tuple介紹,可以參見這篇:Python list和tuple
Python控制語句介紹:ifelse,可以參見這篇:Python 條件判斷
Python控制語句介紹:循環實現,可以參見這篇:Python循環語句
Python數據結構:dict和set介紹Python數據結構dict和set
Python函數相關:Python函數
Python高階特性:Python高級特性
Python高階函數:Python高階函數
目錄:
- 前言
- 匿名函數
- 小結
- 練習
匿名函數
當我們在傳入函數時,有些時候,不需要顯式地定義函數,直接傳入匿名函數更方便。
在Python中,對匿名函數提供了有限支持。還是以map()函數為例,計算f(x)=x2時,除了定義一個f(x)的函數外,還可以直接傳入匿名函數:
通過對比可以看出,匿名函數lambda x: x * x實際上就是:
def f(x):return x * x關鍵字lambda表示匿名函數,冒號前面的x表示函數參數。
匿名函數有個限制,就是只能有一個表達式,不用寫return,返回值就是該表達式的結果。
用匿名函數有個好處,因為函數沒有名字,不必擔心函數名沖突。此外,匿名函數也是一個函數對象,也可以把匿名函數賦值給一個變量,再利用變量來調用該函數:
>>> f = lambda x: x * x >>> f <function <lambda> at 0x101c6ef28> >>> f(5) 25同樣,也可以把匿名函數作為返回值返回,比如:
def build(x, y):return lambda: x * x + y * y小結
Python對匿名函數的支持有限,只有一些簡單的情況下可以使用匿名函數。
練習
請用匿名函數改造下面的代碼:
def is_odd(n):return n % 2 == 1 L = list(filter(is_odd, range(1, 20)))如下:
L = list(filter(lambda n:n%2==1, range(1, 20)))總結
以上是生活随笔為你收集整理的Python学习笔记:匿名函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: netcore 编译 html dll,
- 下一篇: Python错误:TypeError: