Goto Statement ใน Python: สิ่งที่คุณต้องรู้ในปี 2022
เผยแพร่แล้ว: 2021-01-04สารบัญ
บทนำ
ในบรรดาภาษาโปรแกรมสมัยใหม่ที่มีอยู่มากมายในปัจจุบัน Python ได้รับความนิยมเพิ่มขึ้นในหมู่ผู้ใช้จำนวนมาก ความนิยมนี้ส่วนใหญ่เป็นผลมาจากความยืดหยุ่นที่มอบให้กับผู้ใช้โดยไม่ปฏิบัติตามไวยากรณ์ดั้งเดิมที่โคตรจะเคร่งครัด ด้วยเหตุนี้ ความเป็นมิตรกับผู้ใช้จึงส่งผลให้ซอฟต์แวร์กลายเป็นส่วนสำคัญของอุตสาหกรรมซอฟต์แวร์หลายแห่งทั่วโลกในปัจจุบัน ตั้งแต่มือสมัครเล่นจนถึงมืออาชีพที่มีปัญหาด้านสภาพอากาศ ตอนนี้ Python ได้กลายเป็นภาษาที่โปรแกรมเมอร์ส่วนใหญ่เลือกใช้ หากคุณต้องการได้รับการรับรองด้านวิทยาศาสตร์ข้อมูล โปรดดูเว็บไซต์ของเรา
ผู้ใช้ Python มาเป็นเวลานานขอสาบานด้วยข้อความที่หลากหลายและฟังก์ชันที่ได้รับการปรับปรุงในเวลาต่อมาที่สอดคล้องกับพวกเขา อย่างไรก็ตาม เนื่องจากจำนวนคำสั่งที่ใช้ตามอัตภาพมีมากมาย คำสั่งที่มีประโยชน์เท่าเทียมกันหลายคำสั่งจึงไม่มีใครสังเกตเห็นเช่นกัน ตัวอย่างหนึ่งคือคำสั่ง goto ใน Python บทความนี้มีวัตถุประสงค์เพื่อให้ผู้อ่านเข้าใจถึง goto ใน Python มากขึ้น
คำสั่ง goto ของ Python เป็นส่วนสำคัญของโค้ดหรือไวยากรณ์ที่ช่วยให้ผู้ใช้สามารถข้ามคำสั่งจำนวนหนึ่งหรือบล็อกของโค้ดในเนื้อหาของโปรแกรมได้ ในแง่เทคนิค จะทำการกระโดดแบบไม่มีเงื่อนไขจากคำสั่ง goto ไปยังจุดที่กำหนดเป็นปลายทางภายในบริบทของฟังก์ชันเดียวกันกับที่กำลังคอมไพล์
ไวยากรณ์ของฟังก์ชัน goto ค่อนข้างตรงไปตรงมา โดยจับคู่คีย์เวิร์ด "goto" กับชื่อป้ายกำกับเทมเพลตที่ปรับแต่งได้ตามความต้องการของผู้ใช้ ตราบใดที่ข้อความไม่มีคีย์เวิร์ด “go” ก็สามารถวางไว้ที่ใดก็ได้ในเนื้อหาของโปรแกรม ไม่ได้สร้างความแตกต่างหากมีคนเลือกที่จะวางป้ายกำกับไว้เหนือคำสั่ง go หรือด้านล่างสำหรับเรื่องนั้น
คำสั่ง goto ดังกล่าวใช้กันอย่างแพร่หลายโดยผู้ใช้กลุ่มใหญ่ที่เขียนโปรแกรมใน Python อย่างไรก็ตาม สำหรับความน่าจะเป็นทั้งหมด การใช้คำชี้แจงนี้มักจะไม่สนับสนุนเมื่อคำนึงถึงวัตถุประสงค์ในการตรวจสอบ สาเหตุหลักมาจากการมีอยู่ของคำสั่ง goto ในบริบทการตรวจสอบทำให้บางคนติดตามโฟลว์ของโปรแกรมได้ยากมาก
ดังนั้น หากเคยมีสถานการณ์ที่โปรแกรมเมอร์จำเป็นต้องแก้ไขเนื้อหาใดๆ ของโปรแกรม ณ เวลาใดเวลาหนึ่ง การระบุตำแหน่งที่แน่นอนจะกลายเป็นงานที่ยาก เนื่องจากการใช้คำสั่ง goto ทำให้เกิดการข้ามส่วนที่เลือกหรือบล็อกของฟังก์ชัน ผู้ใช้จึงพบว่าเป็นการยากที่จะติดตามการไหลของโปรแกรมและจำกัดตำแหน่งที่แน่นอนที่จะทำการปรับเปลี่ยน
คำสั่ง goto มีเกร็ดประวัติศาสตร์ที่สนุกสนานติดอยู่ เป็นที่เชื่อกันอย่างกว้างขวางว่าเมื่อมีการเผยแพร่คำสั่ง goto ครั้งแรกในวันที่ 1 เมษายน พ.ศ. 2547 ควรใช้เป็นเรื่องตลก อย่างไรก็ตาม เมื่อตระหนักถึงประโยชน์ของไวยากรณ์ที่มีอยู่แล้ว โปรแกรมเมอร์ก็เริ่มใช้คำสั่งนี้อย่างจริงจัง โกโตะจึงค่อยๆ เติบโตจนได้รับการสนับสนุนอย่างแพร่หลายซึ่งยังคงมีอยู่จนถึงปัจจุบัน
คำสั่ง Goto และการวนซ้ำ
เมื่อเราพูดถึงการวนซ้ำของคำสั่ง goto เราหมายถึงส่วนอื่นๆ ของโค้ดหรือไวยากรณ์ที่คล้ายคลึงกันซึ่งมีฟังก์ชันการทำงานเหมือนกับคำสั่ง goto ไม่มากก็น้อย ในบริบทของ Python เงื่อนไขเหล่านี้จะเป็นไปตามคำสั่ง Comefrom มาจากคำสั่ง เป็นโค้ด ทำงานในลักษณะเดียวกับที่คำสั่ง goto ทำงาน จุดประสงค์ทั้ง goto และ Comefrom คือการเพิ่มความยืดหยุ่นให้กับโปรแกรมหลักเช่นนี้ ซึ่งพวกเขาจัดการเพื่อดำเนินการค่อนข้างสะดวก
ด้วยเหตุนี้ คุณในฐานะผู้ใช้จึงสามารถควบคุมกลไกการไหลของโปรแกรมได้มากขึ้น และใช้เสรีภาพของคุณภายในโครงสร้างของโปรแกรมตามที่คุณเห็นว่าเหมาะสม ดังนั้นจึงทำให้การเข้าถึงเพิ่มขึ้นในระดับต่างๆ ของการควบคุมโฟลว์ของสำนวน ซึ่งส่วนใหญ่เป็นภาษาต่างประเทศและแทบไม่มีขอบเขตสำหรับผู้ใช้จนถึงเวลานี้
ในการใช้คำสั่ง goto หรือ Comefrom ในโปรแกรม Python ก่อนอื่นต้องนำเข้าไลบรารีหลัก โดยทั่วไปทำได้โดยการใช้โค้ดที่ตรงไปตรงมาและใช้งานง่าย ซึ่งอ่านได้ดังนี้:
จาก goto นำเข้า goto, Comefrom, label
แม้ว่า Python จะไม่จำต้องจำโครงสร้างไวยากรณ์ที่ซับซ้อนใดๆ ก็ตาม สิ่งหนึ่งที่จะได้รับประโยชน์จากการมีรหัส เหมือนกับที่กล่าวไว้ข้างต้น ไว้ที่รอยนิ้วมือ การใช้คำสั่งโดยการนำเข้าไลบรารีหลักเป็นแกนหลักของ Python ดังนั้น ความคุ้นเคยกับโค้ดดังกล่าวสามารถช่วยประหยัดเวลาได้มากสำหรับผู้ใช้ที่มีปัญหา เมื่อนำเข้าไลบรารีลงในเนื้อหาทั่วไปของโปรแกรมแล้ว คุณสามารถใช้คำสั่งทั้งสองนี้ในโปรแกรมของคุณในลักษณะที่เหมาะสมกับคุณที่สุด
เมื่อมีการใช้คำสั่ง goto ใน Python จำเป็นต้องมีความเข้าใจพื้นฐานเกี่ยวกับสิ่งที่พวกเขาได้รับจากการนำไปใช้ ปรัชญานี้ไม่ได้จำกัดแค่บริบทของคำสั่ง goto แต่ยังขยายไปถึงคำสั่งดังกล่าวทั้งหมดภายใน Python ความชัดเจนเกี่ยวกับการทำงานของคำสั่งต่างๆ นอกเหนือจากการช่วยคุณเพิ่มประสิทธิภาพโค้ดและรันไทม์แล้ว ยังปรับปรุงความสามารถในการอ่านของโปรแกรมโดยรวมอย่างมากอีกด้วย สิ่งนี้สะท้อนให้เห็นโดยตรงในทักษะการเขียนโค้ดที่แข่งขันได้ของคุณเช่นกัน

ในกรณีของคำสั่ง goto เมื่อใดก็ตามที่ผู้ใช้เรียกใช้ พวกเขาจะสั่งให้ล่ามรันโค้ดหนึ่งบรรทัด ซึ่งแตกต่างจากที่อยู่ในมือของพวกเขาในขณะนั้น บล็อกเฉพาะของรหัสหรือบรรทัดที่คุณต้องการกำหนดเป้าหมายสำหรับการดำเนินการจะถูกกำหนดโดยทำเครื่องหมายในส่วนที่เรียกกันทั่วไปว่า "ป้ายกำกับ" แท็กป้ายกำกับใน Python มีการสุ่มมากขึ้น และโดยทั่วไปจะถูกมองว่าเป็นตัวระบุหลามโดยพลการที่นำหน้าด้วยจุดเดียว
อ่าน: แนวคิดและหัวข้อโครงการ Python
คำสั่ง Goto ที่คำนวณได้
คำสั่ง goto ที่คำนวณได้เป็นหนึ่งในรูปแบบที่ใช้กันอย่างแพร่หลายและทั่วไปของคำสั่ง goto ซึ่งโปรแกรมเมอร์จำนวนมากใช้ Python ขณะใช้คำสั่ง goto ที่คำนวณ ผู้ใช้จำเป็นต้องระบุดัชนี python ที่จุดเริ่มต้นของโปรแกรมหรือโค้ด ดังนั้น ผู้ใช้ควรอ้างถึงดัชนีดังกล่าวโดยใช้แฮชแท็ก โดยพื้นฐานแล้ว สิ่งที่คุณทำคือการกำหนดชื่อของป้ายกำกับให้กับตัวแปรระหว่างรันไทม์ จากนั้นจึงอ้างอิงในภายหลัง ตามและเมื่อจำเป็น โดยใช้เครื่องหมายดอกจัน
อ่าน: ภาษาการเขียนโปรแกรมวิทยาศาสตร์ข้อมูล 6 อันดับแรก
มาจากคำสั่ง
แม้ว่าคำสั่ง comefrom จะได้รับการพิจารณาอย่างกว้างขวางและแพร่หลายว่าเป็นการวนซ้ำของคำสั่ง goto ใน Python เมื่อตรวจสอบอย่างใกล้ชิดแล้ว เราพบว่าจริง ๆ แล้วคำสั่ง goto ทำได้ค่อนข้างตรงกันข้าม ในแง่คนธรรมดาและเพื่อความสะดวกของผู้อ่านทั่วไป หน้าที่ของ comefrom กับล่ามสามารถสรุปและเข้าใจได้ดีที่สุดโดยบรรทัดต่อไปนี้:
“เมื่อใดก็ตามที่ถึงป้ายกำกับ X ให้ข้ามมาที่นี่แทน”
อย่างที่คุณเห็น เนื่องจากลักษณะการทำงานของมันคล้ายกับคำสั่ง goto ในแง่ที่ว่าทั้งสองอนุญาตให้คุณข้ามบางส่วนและบางส่วนของโค้ดได้ คำสั่ง comefrom ส่วนใหญ่จะถือว่าเป็นการทำซ้ำของ คำสั่ง goto
แม้ว่าการทำงานจริงของคำสั่ง comefrom จะอธิบายได้ดีที่สุดด้วยความช่วยเหลือของตัวอย่างที่เกี่ยวข้อง เพื่อความชัดเจน เราจะพยายามอธิบายเชิงทฤษฎีโดยสังเขป เราสามารถสรุปได้ว่าด้วยการใช้คำสั่ง comefrom เมื่อใดก็ตามที่ล่ามไปถึงป้ายกำกับที่กำหนด มันจะจบลงด้วยการข้ามการดำเนินการของบรรทัดถัดไปของโค้ด แต่จะข้ามไปยังป้ายกำกับถัดไปภายในเนื้อหาของโปรแกรมโดยตรง
จุดสำคัญที่ควรสังเกตที่นี่คือการใช้คำสั่ง comefrom โดยส่วนใหญ่แล้วเป็นตัวช่วยในการดีบักในการเขียนโปรแกรม นอกจากนี้ มักไม่แนะนำให้ใช้คำสั่ง comefrom ในบริบทที่กว้างขึ้นของการดำเนินการแบบสแตนด์อโลน สาเหตุหลักมาจากการใช้คำสั่ง comefrom ในโครงสร้างดังกล่าว มักจะนำไปสู่ผลลัพธ์ที่ไม่สะดวกและสนับสนุน
อ่านเพิ่มเติม: โครงการ Python GUI
คำสั่ง Goto และข้อจำกัดใน Python
แพลตฟอร์มการเข้ารหัสส่วนใหญ่มักกำหนดชุดข้อจำกัดเกี่ยวกับฟังก์ชันการทำงานของคำสั่งและบรรทัดอื่นๆ ของโค้ดภายในเนื้อหา ในเรื่องนี้ Python ก็ไม่มีข้อยกเว้นเช่นกัน มีข้อจำกัดจำนวนหนึ่งสำหรับคำสั่ง goto และการวนซ้ำ คำสั่ง comefrom เป็นผลให้ในโครงร่างที่ใหญ่กว่า ระดับความสำเร็จของคำสั่งทั้งสองนี้ยังคงมีจำกัด ข้อจำกัดทั่วไปบางส่วนที่ขยายไปถึงทั้งสองข้อความแสดงไว้ด้านล่างสำหรับการอ้างอิงในอนาคต
- แม้ว่าการใช้คำสั่ง goto หรือโปรแกรม comefrom จะทำให้คุณสามารถข้ามบางส่วนและบางส่วนของโค้ดได้ แต่ก็ไม่ได้ทำให้คุณสามารถข้ามไปตรงกลางของลูปได้ ประโยคสุดท้ายใน Python นั้นยังถูกกันไม่ให้ใช้คำสั่งเหล่านี้ในเวลาใดก็ได้
- ผู้ใช้สามารถใช้คำสั่ง goto หรือ comefrom เพื่อข้ามไปมาระหว่างฟังก์ชันหรือโมดูลใน Python ได้ตลอดเวลา
- ไม่สามารถใช้คำสั่ง goto และ comefrom เพื่อข้ามไปยังบรรทัดยกเว้นได้ ส่วนใหญ่เป็นเพราะบรรทัดข้อยกเว้นที่เกี่ยวข้องไม่มีอยู่จริงตั้งแต่แรก ข้อจำกัดนี้มักพบเห็นได้เมื่อผู้ใช้ต้องแยกการวนซ้ำที่ซ้อนกันอย่างลึกล้ำ อีกทางหนึ่ง มันยังถูกนำไปใช้เมื่อมีความจำเป็นในการทำความสะอาดหลังจากบางสิ่งล้มเหลว ทั้งสองกรณีนี้ให้ความกระจ่างเพียงพอเกี่ยวกับข้อ จำกัด เฉพาะที่ Python ขยายออกไปทั้ง goto และคำสั่ง comefrom
ต้องอ่าน: 10 อันดับภาษาการเขียนโปรแกรมที่จ่ายสูงที่สุดในอินเดีย
บทสรุป
เพื่อจุดประสงค์ในการตรวจสอบและแก้จุดบกพร่อง คำสั่ง goto ใน Python ควบคู่ไปกับ iteration คำสั่ง comefrom นำเสนอตัวเองว่าเป็นตัวเลือกที่เป็นไปได้อย่างมากและเข้าถึงได้ง่ายสำหรับผู้ใช้
แม้ว่าข้อความทั้งสองนี้ส่วนใหญ่จะใช้เพียงเล็กน้อยในบริบทของการเขียนโปรแกรมทั่วไป แต่การใช้บ่อยกว่านั้น แม้จะคำนึงถึงชุดของข้อจำกัดที่ต้องจัดการด้วย ก็อาจนำไปสู่ผลลัพธ์ที่ค่อนข้างน่าประหลาดใจ
หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดูโปรแกรม Executive PG ของ IIIT-B & upGrad ใน Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1 -on-1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
