15 Advanced Python Shortcuts for Faster, Cleaner Code
14-May-25
คัมภีร์เทพ IT
See the original english version Click here!
ถ้าคุณเป็น Developer ที่เคยรู้สึกว่าต้องเขียน Code ซ้ำ ๆ จนทำให้รู้สึกเบื่อ หรือสงสัยว่า มีวิธีที่ Clean กว่านี้ไหม คุณมาถูกที่แล้ว เพราะบทความนี้เป็น 15 Python Tricks ที่ช่วยให้คุณเขียน Code ได้ไวและ Clean ขึ้น ซึ่งจะช่วยให้คุณประหยัดเวลาในการทำงานไปได้พอสมควร
1. ใช้ Context Manager จัดการ Code ให้ Clean ขึ้น
คุณอาจเคยเปิด File แล้วลืมปิด File อยู่บ่อย ๆ จนทำให้เกิดปัญหา “file not closed” แต่ตอนนี้เรามี Context Manager ซึ่งมันได้เปลี่ยนวิธีการจัดการ Resources ให้ดีขึ้นไปโดยสิ้นเชิง
วิธีเดิม:
วิธีใหม่:
ด้วยวิธีนี้ มันจะช่วยให้ Code ดู Clean ขึ้น แถมยังช่วยจัดการ Resources ได้อย่างเหมาะสมอีกด้วย
2. Marge Dictionary ไว้ในบรรทัดเดียว (Python 3.9+)
ตอนคุณเริ่มใช้งาน Python ใหม่ ๆ เชื่อว่าการ Merge Dictionary ดูเหมือนจะเป็นเรื่องยุ่งยากโดยไม่จำเป็น แต่พอมี | Operator ชีวิตของคุณจะเริ่มง่ายขึ้น
วิธีเดิม:
วิธีใหม่:
คุณคงเห็นว่า มันอ่านง่ายและกระชับขึ้นกว่าเดิม
3. Unpack ค่าจาก Argument แบบมือโปร
เมื่อก่อน คุณอาจต้อง Extract ค่าจาก Lists ออกมาเองทีละตัว แล้วส่งพวกมันไปยัง Functions ซึ่งทำให้ Code ดูซับซ้อนเกินความจำเป็น แต่ถ้าคุณได้รู้จักการ Unpack Argument จะทำให้ Code ของคุณดูดีขึ้น
วิธีเดิม:
วิธีใหม่:
มันทั้งเรียบง่ายและ Clean ขึ้น โดยที่ไม่ต้องมา Index ให้ยุ่งยาก
4. ใช้ Chained Comparisons เพื่ออ่านเข้าใจง่ายขึ้น
หากคุณรู้จักวิธีการใช้ Chained Comparison เชื่อว่าคุณจะรู้สึกทึ่งอย่างแน่นอน
วิธีเดิม:
วิธีใหม่:
จะเห็นว่า มันอ่านง่ายขึ้นมากเลย
5. เขียน Loop ให้ Clean ด้วย enumerate()
คุณอาจเคยสร้าง Counter Variable เองใน Loop แต่ถ้าคุณได้รู้จัก enumerate() แล้ว เชื่อว่าคุณคงไม่อยากกลับไปใช้วิธีเดิมอีกเลย
วิธีเดิม:
วิธีใหม่:
จากนี้คุณก็ไม่ต้องนับเองอีกต่อไป
6. ทำการ Iterate List หลายรายการพร้อมกันด้วย zip()
หากคุณต้องจัดการหลาย ๆ Lists พร้อมกัน คุณอาจเคยใช้ Index ซึ่งมีความยุ่งยากและมีโอกาสเกิดข้อผิดพลาดได้ง่าย แต่ zip() จะช่วยให้ Code ของคุณ Clean มากขึ้น
วิธีเดิม:
วิธีใหม่:
นี่จะทำให้คุณไม่ต้องคอยนับ Index เองแล้ว
7. แปลง Nested Lists ให้เป็น List แถวเดียวด้วย itertools.chain()
การทำ Nested Lists ให้เป็น List แถวเดียว อาจเคยเป็นฝันร้ายสำหรับใครบางคน แต่ itertools.chain จะช่วยทำให้เรื่องนี้กลายเป็นเรื่องง่ายยิ่งขึ้น
วิธีเดิม:
วิธีใหม่:
จะเห็นว่ามัน Clean และมีประสิทธิภาพมากกว่าเดิม
8. ลบข้อมูลที่ซ้ำกันออกจาก List ทันทีด้วย set()
เมื่อต้องทำงานกับ Datasets ขนาดใหญ่ คุณอาจต้องลบข้อมูลที่ซ้ำกันอยู่บ่อย ๆ แทนที่จะใช้ Loop คุณสามารถใช้ set() แทนได้
วิธีเดิม:
วิธีใหม่:
มันทั้งรวดเร็วและมีประสิทธิภาพสุด ๆ
9. สลับตัวแปรสองตัวโดยไม่ใช้ Temporary Variable
เชื่อว่าคุณคงเคยใช้ Temporary Variable ในการสลับค่า 2 ค่า แต่ถ้ารู้จักเทคนิคนี้ เชื่อว่าจะทำให้คุณเขียน Code ได้ง่ายขึ้น
วิธีเดิม:
วิธีใหม่:
เพียงแค่บรรทัดเดียว มันก็ทำงานได้เป็นอย่างดี
10. หลีกเลี่ยง Key Errors ใน Dictionaries ด้วย defaultdict
คุณอาจเคยเจอ KeyError ในขณะที่พยายามเข้าถึง Dictionary Keys ที่ไม่มีอยู่ ซึ่ง defaultdict จะช่วยแก้ปัญหานี้ได้
วิธีเดิม:
วิธีใหม่:
จากนี้คุณไม่ต้องตรวจสอบ Key ด้วยตนเองอีกต่อไป
11. หา Element ที่เจอบ่อยที่สุดด้วย Counter.most_common()
กรณีที่คุณต้องการวิเคราะห์ความถี่ของคำใน Text Files ขอแนะนำให้คุณลองใช้ Counter
วิธีเดิม:
วิธีใหม่:
จะเห็นว่า มันสะดวกกว่าแบบเดิม
12. ตรวจสอบเงื่อนไขหลาย ๆ รายการด้วย any() และ all()
ในการตรวจสอบเงื่อนไขหลาย ๆ รายการที่ใช้ใน Loop การใช้ any() และ all() จะทำให้สิ่งต่าง ๆ ง่ายขึ้น
วิธีเดิม:
วิธีใหม่:
มันมีประโยชน์อย่างมากในการตรวจสอบความถูกต้อง
13. สร้าง File Paths โดยไม่ต้องกังวลเกี่ยวกับเครื่องหมาย Slash ด้วย os.path.join()
หากคุณเคยเชื่อมต่อ File Paths ด้วยตนเอง ซึ่งอาจทำให้เกิดปัญหาเวลาใช้งานข้าม Platform ได้ แต่ os.path.join() สามารถช่วยแก้ปัญหานี้ได้
วิธีเดิม:
วิธีใหม่:
ตอนนี้คุณก็ไม่ต้องกังวลกับเครื่องหมาย / หรือ \ อีกต่อไปแล้ว
14. กลับลำดับ List อย่างมีประสิทธิภาพด้วย reversed()
หากคุณเคย Slice เพื่อกลับลำดับของ List ตอนนี้คุณสามารถใช้ reversed() ได้ เพราะมันช่วยให้อ่านได้ง่ายกว่าและมีประสิทธิภาพมากกว่า
วิธีเดิม:
วิธีใหม่:
มันสามารถทำงานได้ดีโดยที่ไม่ต้อง Copy Memory
15. เขียน Dictionary Comprehension ในบรรทัดเดียว
คุณอาจเคยใช้ Loop เพื่อแก้ไข Dictionary แต่ถ้าคุณได้รู้จัก Dictionary Comprehension ทุกอย่างจะง่ายขึ้นมาก
วิธีเดิม:
วิธีใหม่:
จะเห็นว่ามันทั้งกระชับและเข้าใจง่ายสุด ๆ
สรุป
และนี่ก็เป็น 15 Python Tricks ที่ช่วยให้คุณเขียน Code ได้ไวและ Clean ขึ้น ซึ่ง Tricks เหล่านี้สามารถช่วยให้คุณเขียน Python Code ได้ Clean และรวดเร็วขึ้น หวังว่าคุณจะนำ Tricks เหล่านั้นไปปรับใช้กับการทำงานจริงของคุณ
ที่มา: https://medium.com/
รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
บทความล่าสุด