ข้อผิดพลาดในการเยื้องคืออะไร? วิธีแก้ไขข้อผิดพลาดการเยื้องใน Python
เผยแพร่แล้ว: 2021-12-22ในฐานะที่เป็นภาษาการเขียนโปรแกรมระดับสูงที่ตีความและใช้งานทั่วไป Python ได้รับการยกย่องมากขึ้นเรื่อยๆ ในฐานะแพลตฟอร์มที่มีแนวโน้มสูง เป็นผู้นำ และเกิดใหม่มากที่สุดในโลกของการเขียนโปรแกรม Python ไม่มีอะไรเลยหากปราศจากปรัชญาการออกแบบอันชาญฉลาด
ลักษณะสำคัญคือการเน้นถึงการใช้การเยื้องที่มีนัยสำคัญเพื่อเพิ่มความสามารถในการอ่านโค้ด ภาพประกอบที่ไฮไลต์ด้านล่างสรุปแนวป้องกันของปรัชญาการออกแบบของ Python อย่างกระชับว่าเป็นคำพังเพย 20 คำพาดพิงโดย Tim Peters ซึ่งเป็น Pythoneer ระยะยาว ซึ่งท้ายที่สุดก็กลายเป็นหนึ่งในนักพัฒนาหลักที่มีผลงานและเหนียวแน่นที่สุดของ Python
สารบัญ
A Brief Introduction to Python
ก่อนที่เราจะเจาะลึกข้อมูลทางเทคนิคเฉพาะที่เป็นสาเหตุของข้อผิดพลาดการเยื้องใน Python มีความจำเป็นที่ต้องทำความคุ้นเคยกับพื้นฐานของ Python และความจำเป็นในการเยื้อง การทำเช่นนี้ไม่เพียงแต่จะช่วยให้คุณได้รับความซาบซึ้งในข้อผิดพลาดของตัวเองมากขึ้น แต่ยังให้ข้อมูลเชิงลึกเกี่ยวกับข้อดีที่โปรแกรมเมอร์ได้รับจากการเลือกแก้ไขปัญหาอย่างมีประสิทธิภาพ
การเริ่มต้นของ Python ในฐานะภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์สามารถสืบย้อนไปถึงปี 1991 ได้ ตั้งแต่นั้นมา โปรแกรมเมอร์ก็ได้ปรับโครงร่างหลักของ Python อย่างต่อเนื่องเพื่อให้เหมาะกับความต้องการเฉพาะของผู้ใช้ที่หลากหลาย เช่น วิทยาศาสตร์ข้อมูล การพัฒนาเว็บและมือถือ
ตอนนี้ เราทุกคนรู้ดีว่าการพยายามทำความเข้าใจลายมือที่อ่านไม่ออกนั้นยากและมักจะทำให้โกรธ ในทำนองเดียวกัน รหัสที่อ่านไม่ได้และไม่มีโครงสร้างนั้นธรรมดาและเรียบง่าย ไม่เป็นที่ยอมรับในโลกของการเขียนโปรแกรม นี่คือจุดที่แนวคิดของ PEP หรือ Python Enhancement Proposal เข้ามาช่วยเหลือโปรแกรมเมอร์ PEP ของชุมชน Python นั้นคล้ายกับ Google Doc ที่ใช้ร่วมกันสำหรับประชาชนทั่วไป
เป็นคำสั่งเชิงพรรณนาที่ได้รับการปรับปรุงอย่างต่อเนื่องเพื่อให้ชุมชนการเขียนโปรแกรม Python รับทราบอย่างทั่วถึงเกี่ยวกับคุณลักษณะและการอัปเดตเพื่อปรับปรุงความสามารถในการอ่านโค้ด เขียนโดย Guido van Rossum, Barry Warsaw และ Nick Coghlan ในปี 2544 PEP 8 เรียกว่าโค้ดสไตล์ของ Python
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
การเยื้องคืออะไร?
เป็นที่ทราบกันดีอยู่แล้วว่า Python เป็นภาษาขั้นตอน ดังนั้น การเยื้องใน Python จึงถูกใช้เพื่อแยกรหัสเอกพจน์ออกเป็นกลุ่มที่สามารถระบุได้ของคำสั่งที่ทำงานคล้ายคลึงกัน ภาษาโปรแกรมส่วนใหญ่ รวมถึง C, C++ และ JAVA ใช้วงเล็บปีกกา '{}' เพื่อกำหนดกลุ่มของโค้ด Python ทำเครื่องหมายส่วนเบี่ยงเบนจากการออกแบบนี้และต้องการใช้การเยื้อง
วากยสัมพันธ์ของการเยื้อง
ตามอนุสัญญาที่ระบุโดยจริยธรรมช่องว่าง PEP 8 การทำซ้ำใหม่ทุกครั้ง (เช่น บล็อกของโค้ด) ควรเริ่มต้นด้วยการเยื้อง และการสิ้นสุดโค้ดควรเป็นบรรทัดแรกที่ไม่มีการเยื้อง แนวทางปฏิบัติทั่วไปในการดำเนินการเยื้องคือช่องว่างสีขาวสี่ช่องหรืออักขระแท็บเดียว โดยส่วนใหญ่จะต้องการเว้นวรรคเหนือแท็บ ห้ามผสมช่องว่างและแท็บ
สาเหตุของข้อผิดพลาดในการเยื้องใน Python
'ข้อผิดพลาดในการเยื้อง: คาดว่าจะมีการเยื้องบล็อก' ไม่ได้เลือกปฏิบัติระหว่างผู้ใช้ ไม่ว่าคุณจะเป็นมือใหม่ในการเขียนโปรแกรม Python หรือเป็นนักพัฒนาซอฟต์แวร์ที่มีประสบการณ์ สิ่งนี้จะเกิดขึ้นในบางช่วงเวลา ใน Python เนื่องจากโค้ดทั้งหมดที่คุณพิมพ์ถูกจัดเรียงโดยใช้ช่องว่างที่ถูกต้อง หากมีอินสแตนซ์ใดๆ ในโค้ด คุณมีการเยื้องที่ไม่ถูกต้อง โค้ดโดยรวมไม่ทำงาน และล่ามจะส่งคืนฟังก์ชันข้อผิดพลาด หากต้องการทราบว่าควรจับตามองสิ่งใด ให้แสดงรายการสาเหตุทั่วไปบางประการของข้อผิดพลาดการเยื้องใน Python:
- การใช้แท็บและพื้นที่พร้อมกันขณะเข้ารหัส เป็นที่ถกเถียงกันอยู่ว่าในทางทฤษฎี ทั้งแท็บและช่องว่างมีจุดประสงค์เดียวกัน แต่ให้เราพิจารณาสิ่งนี้จากมุมมองของล่าม หากใช้ช่องว่างและแท็บสีขาวไม่สอดคล้องกันและสลับกันได้ จะทำให้เกิดความคลุมเครือ ซึ่งจะส่งผลให้ล่ามสับสนระหว่างการเปลี่ยนแปลงที่จะใช้และในที่สุดก็ส่งคืนข้อผิดพลาดการเยื้องใน Python
- คุณได้วางการเยื้องไว้ผิดที่โดยไม่ได้ตั้งใจ หรือไม่มีแท็บหรือช่องว่างสีขาวระหว่างบรรทัดของโค้ด เนื่องจาก Python ปฏิบัติตามหลักเกณฑ์ที่เข้มงวดในการจัดเรียงโค้ดที่เป็นลายลักษณ์อักษร การเยื้องในตำแหน่งที่ไม่ถูกต้องจะส่งกลับข้อผิดพลาดอย่างหลีกเลี่ยงไม่ได้ ตัวอย่างเช่น ไม่ควรเยื้องบรรทัดแรกของ Python
- ในบางครั้ง ขณะสิ้นสุดโปรแกรมที่ค้างชำระและใช้เวลานานเป็นพิเศษ คุณอาจพลาดฟังก์ชันคำสั่งผสมเยื้อง เช่น for, while และ if โดยไม่ได้ตั้งใจ สิ่งนี้จะนำไปสู่ข้อผิดพลาดในการเยื้องอีกครั้ง นี่เป็นความจำเป็นขั้นพื้นฐานที่สุดสำหรับการเยื้องเมื่อใช้ Python และจำเป็นต้องได้รับการฝึกฝนอย่างเข้มงวดเพื่อให้เชี่ยวชาญ
- หากคุณลืมใช้การเยื้องเมื่อทำงานกับฟังก์ชันที่ผู้ใช้กำหนดหรือคลาสอื่น ข้อผิดพลาดมักจะปรากฏขึ้น
จะแก้ไขข้อผิดพลาดการเยื้องใน Python ได้อย่างไร
- ตรวจสอบช่องว่างหรือแท็บสีขาวที่ไม่ถูกต้อง ขออภัย ไม่มีการแก้ไขข้อผิดพลาดในการเยื้องอย่างรวดเร็ว เนื่องจากรหัสเป็นของคุณ ความจริงก็คือคุณจะต้องประเมินแต่ละบรรทัดเพื่อระบุกรณีที่ผิดพลาด อย่างไรก็ตาม เนื่องจากบรรทัดของโค้ดถูกจัดเรียงเป็นบล็อค กระบวนการจึงค่อนข้างง่าย ตัวอย่างเช่น หากคุณใช้คำสั่ง 'if' ในบรรทัดใดบรรทัดหนึ่ง คุณสามารถตรวจสอบได้ว่าคุณลืมเยื้องบรรทัดต่อไปนี้หรือไม่
- ตรวจสอบให้แน่ใจว่าการเยื้องสำหรับบล็อกหนึ่งๆ ยังคงเหมือนเดิมตลอดทั้งโค้ด แม้ว่าจะมีการแนะนำบล็อกใหม่ตรงกลางก็ตาม ตรวจสอบความไม่สอดคล้องกันในการเยื้อง
หากวิธีแก้ปัญหาแบบแมนนวลข้างต้นไม่ได้ผลสำหรับคุณ และคุณกำลังมีปัญหาในการหาตำแหน่งที่คุณพลาดการเยื้อง ให้ทำตามขั้นตอนเหล่านี้:
- ไปที่การตั้งค่าตัวแก้ไขโค้ดและเปิดใช้งานตัวเลือกที่ต้องการแสดงแท็บและช่องว่าง เมื่อเปิดใช้งานคุณลักษณะนี้ คุณจะเห็นจุดเล็กๆ จุดเดียว โดยแต่ละจุดแสดงถึงแท็บ/ช่องว่าง หากคุณสังเกตเห็นจุดขาดหายไปในจุดที่ไม่ควรอยู่ แสดงว่าบรรทัดนั้นอาจมีข้อผิดพลาดในการเยื้อง
- ใช้คู่มือการเยื้องในตัวล่าม Python เป็นไปได้ว่าวิธีนี้ไม่มีประสิทธิภาพมากสำหรับโค้ดหลายบรรทัด อย่างไรก็ตาม เนื่องจากจะนำคุณผ่านแต่ละบรรทัดและแสดงให้คุณเห็นว่าข้อผิดพลาดของคุณอยู่ที่ใด จึงเป็นวิธีที่แน่นอนที่สุดในการค้นหาและแก้ไขข้อผิดพลาดทั้งหมด
ประโยชน์ของการเยื้อง
ความสามารถในการอ่านและความสม่ำเสมอเป็นสิ่งสำคัญสำหรับโค้ดที่ดี ตามช่องว่าง PEP 8 จริยธรรมจึงไม่ควรต่อรองได้ มันยืนยันรหัสของคุณอย่างมีเหตุมีผล ซึ่งช่วยให้ได้รับประสบการณ์การเขียนโค้ดที่น่าพึงพอใจยิ่งขึ้น นอกจากนี้ หากคุณปฏิบัติตามหลักเกณฑ์โวหารซึ่งความสามารถในการอ่านเป็นข้อเท็จจริงของคุณ คนที่ไม่รู้จักคุณแต่สนใจงานของคุณจะเข้าใจโค้ดของคุณได้อย่างง่ายดาย
ข้อเสียของการเยื้อง
- หากโค้ดมีขนาดใหญ่และการเยื้องเสียหาย การแก้ไขข้อผิดพลาดในการเยื้องอาจเป็นเรื่องที่น่าเบื่อหน่าย ซึ่งมักจะเป็นกรณีที่มีการคัดลอกโค้ดจากแหล่งข้อมูลออนไลน์ เอกสาร Word หรือไฟล์ PDF
- ภาษาโปรแกรมยอดนิยมมักใช้วงเล็บปีกกาเพื่อเยื้อง สำหรับโปรแกรมเมอร์ที่เพิ่งเริ่มใช้ Python การปรับแนวคิดเรื่องการใช้ช่องว่างสำหรับการเยื้องอาจเป็นเรื่องยาก
สรุป
สิ่งที่อยู่ระหว่างคุณกับโค้ดที่เขียนอย่างดีคือการเยื้อง และทั้งหมดที่อยู่ระหว่างคุณ โค้ดที่เขียนอย่างดีและการดำเนินการที่ราบรื่นของโค้ดคือข้อผิดพลาดในการเยื้อง ตอนนี้มนุษย์ทุกคนทำผิดพลาด โปรแกรมเมอร์ทุกคนเป็นมนุษย์ ดังนั้นโปรแกรมเมอร์ทุกคนจึงทำผิดพลาด แต่ข้อผิดพลาดในการเยื้องสามารถแก้ไขได้ง่าย สิ่งที่คุณต้องทำคือหายใจและใช้พื้นที่ของคุณ
หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดูโปรแกรม Executive PG ของ IIIT-B & upGrad ใน Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1 -on-1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ