1. 程式人生 > >python 第二十五篇 匿名函式

python 第二十五篇 匿名函式

#lambda(匿名函式的關鍵字):Python中使用匿名lambda建立匿名函式,不能給函式設定函式名,和普通的函式相比,lambda相當於生成的是一個表示式。lambda語法相對簡單,可以封裝一些簡單的邏輯。

#為什麼要使用匿名函式:
#1.不需要定義函式名,節省記憶體中的變數的定義的空間
#2.可以使程式碼更加簡潔。

#正常的使用函式來定義一個數字相加的函式。
def add(x,y):
    return x+y
res=add(10,20)
print(res)

#使用lambda來改造上面的數字相加的函式
#x,y:相當於普通函式的引數,: 分隔符,x+y相當於函式的返回值
res_lambda= lambda x,y:x+y
#通過res_lambda這個變數來執行lambda函式
res1=res_lambda(10,20)
print(res1)

#不新增引數的lambda函式
res2=lambda :print('這是一個沒有引數的lambda函式!')
res2()

#lambda加上條件判斷
def bijiao(x,y):
    if x>y:
        print('x和y中數字較大的是:%s'%x)
    else:
        print('x和y中數字較大的是%s' %y)

bijiao(2,3)

res3=lambda x,y:print('x和y中數字較大的是:%s'%x) if x>y else print('x和y中數字較大的是%s'%y)
res3(2,3)

#跟lambda函式設定預設引數

def panduan(name='張三'):
    if name=="張三":
        print('姓名是張三')
    else:
        print('姓名不是張三')
panduan()

res4=lambda name='張三':print('姓名是張三') if name=="張三" else print('姓名不是張三')
res4(name='李四')