新聞中心
之前我們給大家講函數(shù)也不再少數(shù),往期里也經(jīng)常在函數(shù)內(nèi)容里給大家拓展新的函數(shù),不知道大家都沒有理解呢?小編知道函數(shù)是大家的基礎(chǔ),在瀏覽代碼的時(shí)候,經(jīng)常注意這塊內(nèi)容,今天也不例外,下面給大家?guī)硪粋€(gè)好玩的函數(shù)——匿名函數(shù),一起來看下吧~

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),伍家崗網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:伍家崗等地區(qū)。伍家崗做網(wǎng)站價(jià)格咨詢:18982081108
匿名函數(shù)
匿名函數(shù)不需要顯示地定義函數(shù)名,使用【lambda + 參數(shù) +表達(dá)式】的方式。
lambda 函數(shù)
lambda 函數(shù)的形式
lambda argument1, argument2,... argumentN : expression
套入函數(shù),使用lambda
square = lambda x: x**2 square(3) 9 lambda 返回的一個(gè)函數(shù)對(duì)象
注意:lambda 和def 的區(qū)別
lambda 是一個(gè)表達(dá)式,def 是一個(gè)語句
[(lambda x: x*x)(x) for x in range(10)] # 輸出 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
lambda 可以用作函數(shù)的參數(shù),def 不能
l = [(1, 20), (3, 0), (9, 10), (2, -1)] l.sort(key=lambda x: x[1]) # 按列表中元祖的第二個(gè)元素排序 print(l) # 輸出 [(2, -1), (3, 0), (9, 10), (1, 20)]
lambda 是只有一行的簡單表達(dá)式
squared = map(lambda x: x**2, [1, 2, 3, 4, 5]) 如果不用lambda ,你用def就需要多寫好多行 def square(x): return x**2 squared = map(square, [1, 2, 3, 4, 5])
在tkinter 中實(shí)現(xiàn)的簡單功能
from tkinter import Button, mainloop
button = Button(
text='This is a button',
command=lambda: print('being pressed')) # 點(diǎn)擊時(shí)調(diào)用 lambda 函數(shù)
button.pack()
mainloop()主要你按壓就出現(xiàn)being pressed,你用def就是下面的樣子。
from tkinter import Button, mainloop
def print_message():
print('being pressed')
button = Button(
text='This is a button',
command=print_message) # 點(diǎn)擊時(shí)調(diào)用 lambda 函數(shù)
button.pack()
mainloop()使用def 要寫好多行,多定義一個(gè)函數(shù)。
好了,以上就是詳細(xì)的匿名函數(shù)的使用了哦~如需了解更多python實(shí)用知識(shí),點(diǎn)擊進(jìn)入PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
本文標(biāo)題:創(chuàng)新互聯(lián)Python教程:python中的匿名函數(shù)如何使用?
標(biāo)題路徑:http://m.5511xx.com/article/cdhecdj.html


咨詢
建站咨詢
