⊗pyPmFnLa 16 of 129 menu

ฟังก์ชัน Lambda ใน Python

สมมติว่าเรามีฟังก์ชัน func, ซึ่งรับพารามิเตอร์เป็นรายการและ callback ฟังก์ชันจะสร้างรายการใหม่ จากองค์ประกอบของรายการต้นทาง ใน ขณะเดียวกัน callback จะถูกนำไปใช้กับ แต่ละองค์ประกอบ:

def func(lst, callback): res = [] for el in lst: res.append(callback(el)) return res

ตอนนี้มาสร้างฟังก์ชัน square, ซึ่งจะยกกำลังตัวเลขที่ส่งให้ เป็นสอง:

def square(num): return num ** 2

ลองส่งรายการตัวเลขและฟังก์ชัน square เป็น callback ไปยังพารามิเตอร์ func:

print( func([1, 2, 3], square) )

รายการใหม่ที่ประกอบด้วย ตัวเลขกำลังสองจะแสดงในคอนโซล:

[1, 4, 9]

อย่างไรก็ตาม รหัสนี้สามารถลดให้สั้นลงได้อย่างมาก โดยใช้ ฟังก์ชัน Lambda - ฟังก์ชันที่ไม่ระบุชื่อ ซึ่งเรียกใช้งานด้วย คีย์เวิร์ด lambda และ เขียนในบรรทัดเดียว ดังนั้นใน ฟังก์ชัน Lambda จึงสามารถเขียนใหม่ได้เฉพาะ ฟังก์ชันที่มีโค้ดครอบคลุมเพียงบรรทัดเดียว

ไวยากรณ์ของฟังก์ชัน Lambda มีลักษณะดังนี้:

lambda พารามิเตอร์ของฟังก์ชัน: การดำเนินการกับพารามิเตอร์ของฟังก์ชัน

ลองเขียนฟังก์ชัน square ใหม่ด้วย ฟังก์ชัน Lambda และส่งไปยัง พารามิเตอร์ func:

print( func([1, 2, 3], lambda num: num ** 2) )

สามารถเขียนฟังก์ชัน Lambda ลงในตัวแปรได้:

square = lambda num: num ** 2 print( func([1, 2, 3], square) )

เขียนโค้ดต่อไปนี้ใหม่โดยใช้ฟังก์ชัน Lambda:

def func(num, clb): return clb(num) def clb(num): return num + 1 print( func(2, clb) )

เขียนโค้ดต่อไปนี้ใหม่โดยใช้ฟังก์ชัน Lambda:

def func(num, clb1, clb2): return (clb1(num), clb2(num)) def clb1(num): return num + 1 def clb2(num): return num - 1 print( func(2, clb1, clb2) )

เขียนโค้ดต่อไปนี้ใหม่โดยใช้ฟังก์ชัน Lambda:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ