自學Python3.4-函數分類(匿名函數)

自學Python之路-Python基礎+模塊+面向對象
自學Python之路-Python網絡編程
自學Python之路-Python併發編程+數據庫+前端
自學Python之路-djangohtml

自學Python3.4-函數分類(匿名函數)

內置函數,自定義函數,匿名函數前端

匿名函數(python3.x)

python 使用 lambda 來建立匿名函數。 對於簡單的函數,也存在一種簡便的表示方式,即:lambda表達式python

  • lambda只是一個表達式,函數體比def簡單不少。
  • lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
  • lambda函數擁有本身的命名空間,且不能訪問自有參數列表以外或全局命名空間裏的參數。
  • 雖然lambda函數看起來只能寫一行,卻不等同於C或C++的內聯函數,後者的目的是調用小函數時不佔用棧內存從而增長運行效率。

1.1 匿名函數建立語法

  lambda [arg1 [,arg2,.....argn]]:expression數據庫

1.2 示例

lambda x: x+1 #一個參數
lambda x,y,z:x+y+z #多個參數
lambda x,y=3: x*y #容許參數存在默認值,可是默認值的參數必須參數順序最後

1.2.1 學習條件運算時,對於簡單的 if else 語句,能夠使用三元運算來表示,即:express

# 普通條件語句
if 1 == 1:
    name = 'carlos'
else:
    name = 'alex'    
# 三元運算
name = 'carlos' if 1 == 1 else 'alex' 

1.2.2 對於簡單的函數,也存在一種簡便的表示方式,即:lambda表達式django

# ###################### 普通函數 ######################
# 定義函數(普通方式)
def func(arg):
    return arg + 1   
# 執行函數
result = func(123)
    
####################### lambda ######################
    
# 定義函數(lambda表達式)
my_lambda = lambda arg : arg + 1
    
# 執行函數
result = my_lambda(123)

 

 

 

 

 

 

。。。。編程

相關文章
相關標籤/搜索