Python中使用lambda函數


在Python中,lambda允許用戶快速定義單行函數,當然用戶也可以按照典型的函數定義完成函數。lambda的目的就是簡化用戶定義使用函數的過程。

>>> func =lambda x: x *2   # 定義lambda函數,通過賦值給func進行調用 
 
>>> func(3) 
 
6 
 
>>>(lambda x: x *2)(3)   # lambda函數的定義和調用可以整合在一起(可讀性差) 
 
6

使用lambda函數應該注意的幾點:

  • lambda定義的是單行函數,如果需要復雜的函數,應該定義普通函數
  • lambda參數列表可以包含多個參數,如 lambda x, y: x + y
  • lambda中的表達式不能含有命令,而且只限一條表達式

另外補充一個細節,剛遇到的問題:

我們知道在函數中使用全局變量就是在函數中添加“global var”語句即可,事實上還有個細節就是Python默認函數中的變量為全局變量,一旦在函數體的某個位置該變量被賦值,那么它就被認定為局部變量了。

In Python, variables that are only referenced inside a function are implicitly global. If a variable is assigned a new value anywhere within the function’s body, it’s assumed to be a local.

#!/usr/bin/python 
 
var=23 
 
def func_local(): 
 
    printvar   # var是全局變量。另外這里只是使用var的值而沒有改變它,如果想改變該全局變量,應添加"global var" 
 
def func_global(): 
 
    var=100   # var是局部變量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM