23 ก.ค. 2022 เวลา 07:52 • ไอที & แก็ดเจ็ต
Def กับ Lambda มันคืออะไร ?
บลอคนี้จะเขียนไปเรื่อย เนื้อหาที่จะเขียนมันก็จะไม่เรียง มั่วๆ หน่อยนะครับ 555 แล้วแต่ว่าผู้เขียนช่วงนั้นๆ ทำอะไร 5555 🥱
เนื่องจากช่วงนี้ทำงานเกี่ยวกับเขียน code บ่อย ผมก็เข้าใจดีเลยว่าคนที่เริ่มแบบงมเองมันงงมากๆ หลายคนที่เขียนเป็นอาจจะสามารถหา keyword เพื่อไปเสิชต่อเองได้ ก็หลักๆ จะดูใน stackoverflow.com 👈
ผมก็เลยอยากจะทำเวอร์ชั่นภาษาไทยบ้าง เผื่อมีคนหลงเข้ามาอ่านกันนะครับ 🤭
ในส่วนของวันนี้ ได้ความรู้จากเพื่อนมา เกี่ยวกับ def และ lambda ครับ
เบื้องต้นนะครับ ผมหัดใช้ python 3.0 โดยใช้ Spyder 3.7 desktop 👊
ขออนุญาตเขียนบน desktop แล้วก็อบรูปเอานะครับ อิอิ
def or lambda ; สำหรับผมมันเหมือนเราประกาศการทำงาน (ฟังก์ชั่น) สักชุดนึง
ตัวอย่าง
ผมอยากสร้าง function ให้ +1 ในชุดข้อมูลใดๆ โดยใช้ def หรือ lambda สิ่งที่ได้ก็จะประมาณนี้
สร้าง function โดยใช้ def โดยกำหนดชื่อให้มันเป็น 'plusOne' โดยข้อมูลใดๆ ที่จะนำมาใช้กับฟังก์ชั่นนี้ต้องเป็น int (ตัวเลข) จะเขียนได้แบบนี้….
สร้าง function โดยใช้ lambda โดยกำหนดชื่อให้มันเป็น ‘plusOne’ เหมือนกัน จะเขียนได้แบบนี้….
ตัวอย่างการใช้งาน
สมมติว่าผมมีชุดข้อมูลนึงชื่อ ‘array’ โดยกำหนดค่าให้ข้างในมี list 1,2,3
ถ้ากดรันเราจะได้ list ข้อมูลที่ชื่อว่า array ออกมา
จากนั้นก็กำหนดฟังก์ชั่นเก็บไว้ในตัวแปรแบบนี้
- lambda_test คือ ผมกำหนด ฟังก์ชั่น ไว้ว่าข้อมูลใดๆ ให้ +1
- def_test คือ plusOne อ้างอิงจากข้างบนนะครับ ก็คือ +1
โดยจะแสดงให้ดูผลลัพธ์โดยใช้ map มาช่วยนะครับ
อธิบายกับ map แปบ
ซึ่งเราจะเรียกใช้ function ด้วย
map(function ที่จะใช้,ชุดข้อมูลที่จะนำไปใช้กับ function)
แต่ในที่นี้ผมเพิ่ม list ครอบหน้า map(function, data) อีกที > เป็นการนำผลลัพธ์ชุดข้อมูลแต่ละตัวที่ผ่าน function เก็บเป็น list อีกที อ่านละงงๆ ใช่มั้ย 5555
ความหมายของมันคือ
จะนำข้อมูล ‘array’ ไปใช้ฟังก์ชั่นกับ ‘lambda_test’ โดยผลลัพธ์ที่ได้ ให้อารมณ์แบบว่า append แต่ละ values ใน list ‘array’ เมื่อ +1 เสร็จ
แล้วเก็บผลเป็น list ไว้ในตัวแปร ‘result_lambda’
ซึ่งในส่วนของ ‘result_def’ ก็ความหมายเดียวกันแค่ฟังก์ชั่นใช้ def ในการเขียนครับ
ผลลัพธ์ที่ได้…
ได้ผลลัพธ์เหมือนกันจ้าาาา
เป็นไงกันบ้างครับ พอจะเข้าใจกันบ้างมั้ยเอ่ย coding จริงๆ ผมว่าเขียนเป็นอังกฤษน่าจะเข้าใจมากกว่าครับ เพราะมันสั้น 55555555555 😱
ไว้พบกันใหม่ในบทความหน้าครับผม
ปล. นี่เป็นหน้าต่างที่เขียน code ทั้งหมดครับ
โฆษณา