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

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

系統(tǒng) 1678 0

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

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

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

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

例1.定義一個lambda表達式,求三個數(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表達式求n的階乘

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

輸出:120
          

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

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

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

輸出:24
          

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

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

這里也可以把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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大庆市| 宕昌县| 会泽县| 蚌埠市| 张掖市| 济阳县| 云浮市| 金溪县| 九台市| 永吉县| 永善县| 桑植县| 嘉荫县| 怀安县| 达州市| 玉山县| 田阳县| 顺平县| 池州市| 毕节市| 德兴市| 勐海县| 鄯善县| 靖安县| 宕昌县| 定襄县| 旌德县| 万载县| 色达县| 芦山县| 通江县| 安阳市| 烟台市| 沙河市| 微博| 关岭| 四会市| 灌南县| 棋牌| 景东| 红安县|