1. 程式人生 > 資訊 >JetBrains 全新資料科學 IDE DataSpell 正式釋出:支援 PyCharm 的智慧 Python 和 R 編碼輔助

JetBrains 全新資料科學 IDE DataSpell 正式釋出:支援 PyCharm 的智慧 Python 和 R 編碼輔助

匿名函式

lambda關鍵字在Python表示式內部建立匿名函式

然後,Python簡單的語法限制了lambda函式的定義體只能使用純表示式。lambda函式的定義體中不能賦值,也不能使用while和try等Python語句

在引數列表中最適合使用匿名函式

# 使用lambda表示式反轉拼寫,然後依次給單詞列表排序
fruits=['strawberry','fig','apple','cherry','respberry','banana']
sorted(fruits,key=lambda word:word[::-1])
['banana', 'apple', 'fig', 'respberry', 'strawberry', 'cherry']

除了作為引數傳給高階函式之外,Python很少使用匿名函式。由於語法上的限制,複雜的lambda表示式要麼難以閱讀,要麼無法寫出

lambda表示式重構祕籍

  1. 編寫註釋,說明lambda表示式的作用
  2. 研究一會兒註釋,並找出一個名稱來概括註釋
  3. 把lambda表示式轉換成def語句,使用那個名稱來定義函式
  4. 刪除註釋

lambda句法只是語法糖:與def語句一樣,lambda表示式會建立函式物件。這是Python中幾種可呼叫物件的一種