Lambda functions
หากเคยใช้ฟังก์ชันในตระกูล *apply (เช่น sapply() และ lapply()) ใน R มาก่อน
ก็น่าจะเคยใช้ anonymous function มาบ้างแล้ว ใน Python นั้น anonymous function เรียกว่า lambda function
ฟังก์ชันประเภทนี้ไม่ได้แตกต่างจากฟังก์ชันทั่วไปมากนัก
เพียงแต่ใช้คีย์เวิร์ด lambda แทน def
โดยทั่วไปจะใช้กับฟังก์ชันที่มีโค้ดเพียง 'บรรทัดเดียว'
ตัวอย่างเช่น ฟังก์ชันที่คืนค่ายกกำลังสามของตัวเลขสามารถเขียนได้ดังนี้:
cube_lambda = lambda x: x**3
print(cube_lambda(3))
27
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python สำหรับผู้ใช้ R
คำแนะนำการฝึกหัด
- แปลงฟังก์ชันปกติ
sq_func()ให้เป็น lambda function แล้วตั้งชื่อว่าsq_lambda - ใช้ lambda function นั้นเพื่อพิมพ์ผลลัพธ์เมื่อส่งค่า
3เข้าไปในฟังก์ชัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# A function that takes a value and returns its square
def sq_func(x):
return(x**2)
# A lambda function that takes a value and returns its square
sq_lambda = ____ ____: ____
# Use the lambda function
print(____(____))