เริ่มต้นใช้งาน Python Lambda Functions

Mar 03 2023
วันนี้เราจะเรียนรู้เกี่ยวกับเครื่องมือเฉพาะใน Python ที่เรียกว่า “lambda” อาจฟังดูเหมือนคำใหญ่ แต่จริงๆ แล้วใช้ง่ายมากๆ
ภาพถ่ายโดย Rich Tervet บน Unsplash

วันนี้เราจะเรียนรู้เกี่ยวกับเครื่องมือเฉพาะใน Python ที่เรียกว่า “lambda” อาจฟังดูเหมือนคำใหญ่ แต่จริงๆ แล้วใช้ง่ายมากๆ

แล้วแลมบ์ดาคืออะไร? พูดง่ายๆ ก็คือ lambda เป็นวิธีสร้างฟังก์ชันเล็กๆ ใน Python โดยไม่ต้องตั้งชื่อ เหมือนทางลัด!

ลองดูตัวอย่าง สมมติว่าคุณต้องการบวกเลขสองตัวเข้าด้วยกันใน Python คุณสามารถเขียนฟังก์ชันดังนี้:

def add_numbers(x, y):
    return x + y

แต่ถ้าคุณต้องการใช้ฟังก์ชันนี้เพียงครั้งเดียวและไม่ต้องการตั้งชื่อล่ะ นี่คือสิ่งที่แลมบ์ดามีประโยชน์!

แทนที่จะเขียนฟังก์ชันเต็มรูปแบบ คุณสามารถใช้แลมบ์ดาเพื่อสร้างฟังก์ชันเล็กๆ ได้ทันที นี่คือลักษณะ:

lambda x, y: x + y

นี่เป็นอีกตัวอย่างหนึ่งของการใช้ฟังก์ชันแลมบ์ดา สมมติว่าคุณมีรายชื่อและต้องการจัดเรียงตามตัวอักษร คุณสามารถเขียนฟังก์ชันดังนี้:

def sort_names(names):
    return sorted(names)

แต่ถ้าคุณต้องการใช้ฟังก์ชันนี้เพียงครั้งเดียวและไม่ต้องการตั้งชื่อล่ะ คุณสามารถใช้แลมบ์ดาเพื่อสร้างฟังก์ชันขนาดเล็กที่เรียงลำดับชื่อตามตัวอักษร นี่คือลักษณะ:

lambda names: sorted(names)

ดังนั้น ประโยชน์ของการใช้ฟังก์ชันแลมบ์ดาใน Python คืออะไร?

  1. โค้ดที่กระชับ: ฟังก์ชัน Lambda ช่วยให้คุณเขียนโค้ดที่กระชับและอ่านง่ายขึ้น เนื่องจากไม่ต้องการคำนิยามและชื่อฟังก์ชันแยกต่างหาก คุณจึงนำไปใช้ในโค้ดได้โดยตรง ทำให้อ่านง่ายขึ้นและไม่ยุ่งเหยิง
  2. องค์ประกอบของฟังก์ชัน: ฟังก์ชัน Lambda สามารถใช้เป็นแบบเอกสารสำเร็จรูปเพื่อสร้างฟังก์ชันที่ซับซ้อนมากขึ้น คุณสามารถใช้เพื่อสร้างฟังก์ชันที่มีลำดับสูงกว่าซึ่งใช้ฟังก์ชันอื่นเป็นอาร์กิวเมนต์หรือส่งกลับฟังก์ชันอื่นเป็นค่า สิ่งนี้ทำให้คุณสามารถเขียนฟังก์ชันในรูปแบบใหม่และน่าสนใจได้
  3. ใช้ครั้งเดียว: ฟังก์ชัน Lambda มีประโยชน์เมื่อคุณต้องการใช้ฟังก์ชันเพียงครั้งเดียว และคุณไม่ต้องการสร้างคำจำกัดความของฟังก์ชันแยกต่างหากสำหรับฟังก์ชันนั้น วิธีนี้สามารถช่วยคุณประหยัดเวลาและความพยายาม โดยเฉพาะอย่างยิ่งหากฟังก์ชันนั้นเรียบง่ายและคุณไม่จำเป็นต้องใช้ซ้ำในส่วนอื่นๆ ของโค้ด
  4. การใช้หน่วยความจำอย่างมีประสิทธิภาพ: เนื่องจากฟังก์ชันแลมบ์ดาไม่มีชื่อ จึงไม่ใช้พื้นที่หน่วยความจำในสภาพแวดล้อม Python ซึ่งจะเป็นประโยชน์อย่างยิ่งเมื่อคุณทำงานกับชุดข้อมูลขนาดใหญ่หรือเมื่อมีปัญหาเกี่ยวกับการใช้หน่วยความจำ
  5. ความเร็ว: โดยปกติแล้ว ฟังก์ชัน Lambda จะดำเนินการได้เร็วกว่าฟังก์ชันปกติ เนื่องจากไม่ต้องการการเรียกใช้ฟังก์ชันและการค้นหา สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณทำงานกับชุดข้อมูลขนาดใหญ่หรือเมื่อต้องคำนึงถึงประสิทธิภาพ