日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python中l(wèi)ambda()的用法

系統(tǒng) 1766 0

在C++11和C#中都有匿名函數(shù)的存在。下面看看在python中匿名函數(shù)的使用。

1.lambda只是一個表達(dá)式,函數(shù)體比def簡單很多。

2.lambda的主體是一個表達(dá)式,而不是一個代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。

3.lambda表達(dá)式是起到一個函數(shù)速寫的作用。允許在代碼內(nèi)嵌入一個函數(shù)的定義。

例1.定義一個lambda表達(dá)式,求三個數(shù)的和

            
# -*- coding: UTF-8 -*-
f = lambda x,y,z:x + y + z

print f(1,2,3)
print f(4,5,6)

輸出:
6
15
          

例2.用lambda表達(dá)式求n的階乘

            
# -*- coding: UTF-8 -*-
n = 5
print reduce(lambda x,y:x*y,range(1,n+1))

輸出:120
          

4.lambda表達(dá)式也可以用在def函數(shù)中

            
# -*- coding: UTF-8 -*-

def action(x):
  return lambda y:x + y
a = action(2)
print a(22)

輸出:24
          

這里定義了一個action函數(shù),返回了一個lambda表達(dá)式。其中l(wèi)ambda表達(dá)式獲取到了上層def作用域的變量名x的值。

a是action函數(shù)的返回值,a(22),即是調(diào)用了action返回的lambda表達(dá)式。

這里也可以把def直接寫成lambda形式。如下

            
# -*- coding: UTF-8 -*-

b = lambda x:lambda y:x + y
a = b(3)
print a(2)
print (b(2))(2)

輸出:
5
4
          

好了這篇文章就結(jié)束到這了,需要的朋友可以看下面的相關(guān)內(nèi)容


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 浦江县| 安平县| 乌兰浩特市| 论坛| 海林市| 长垣县| 北京市| 平山县| 阳谷县| 建阳市| 东乌| 新乐市| 武乡县| 西昌市| 北海市| 长沙市| 友谊县| 砀山县| 衡阳市| 明水县| 永登县| 盘锦市| 青田县| 如皋市| 伊宁市| 香港 | 和田县| 肥城市| 邵阳市| 吉安县| 大余县| 龙南县| 常山县| 申扎县| 临沧市| 开封县| 嵩明县| 桑日县| 株洲市| 惠州市| 海盐县|