ตัวระบุใน Python: กฎการตั้งชื่อและแนวทางปฏิบัติที่ดีที่สุด
เผยแพร่แล้ว: 2021-11-12Python เป็นภาษาโปรแกรมระดับสูงเชิงวัตถุที่ได้รับการยอมรับอย่างกว้างขวางสำหรับการเขียนโปรแกรมเอนกประสงค์ สร้างขึ้นโดย Python Software Foundation ในปีพ.ศ. 2534 และได้พบหนทางสู่การเขียนโปรแกรมระดับอุตสาหกรรม และปัจจุบันเป็น ภาษาโปรแกรมที่มีผู้ใช้มากที่สุดเป็นอันดับ 3 ของโลก ตาม Statista นักพัฒนาเกือบ 48.24% พึ่งพา Python เพื่อให้ได้ผลลัพธ์ที่เป็นที่ต้องการในด้านวิทยาศาสตร์ข้อมูล ทำให้ภาษาเป็นหนึ่งใน ทักษะด้านวิทยาศาสตร์ ข้อมูลที่เป็นที่ต้องการมากที่สุด สำหรับผู้หางาน นอกเหนือจาก R และ SQL
อินเทอร์เน็ตเต็มไปด้วยหลักสูตรที่สอน Python ภายในไม่กี่เดือน เนื่องจากกฎที่กล่าวข้างต้น การเติบโตอย่างรวดเร็วของการเรียนรู้ทางอินเทอร์เน็ตจึงเต็มไปด้วยหลักสูตรเกี่ยวกับ Python ซึ่งขณะนี้พร้อมให้บริการแก่ผู้ชมในวงกว้างในทุกกลุ่มอายุ
เช่นเดียวกับภาษาการเขียนโปรแกรมทั้งหมด Python มีคุณลักษณะและกฎเกณฑ์ที่ต้องปฏิบัติตามเมื่อสร้างแอปพลิเคชันซอฟต์แวร์ บทความนี้จะกล่าวถึงตัวระบุใน Python และสำรวจกฎและแนวทางปฏิบัติที่ดีที่สุดสำหรับการตั้งชื่อตัวระบุ
สารบัญ
ตัวระบุคืออะไร?
จำเป็นต้องระบุและตั้งชื่อองค์ประกอบการเขียนโปรแกรมที่แตกต่างกันเพื่อให้แตกต่างจากองค์ประกอบอื่นๆ ในลักษณะเดียวกัน สิ่งเหล่านี้เรียกว่าตัวระบุ ผู้ใช้กำหนดชื่อเหล่านี้ตามตัวเลือกและข้อกำหนด ซึ่งรวมถึงชื่อคลาส ฟังก์ชัน ตัวแปร เมธอด และอื่นๆ
สำหรับ Python ตัวระบุทำงานในลักษณะเดียวกัน ยกเว้นหลักการตั้งชื่อสองสามแบบที่เป็นเอกลักษณ์เฉพาะสำหรับภาษานั้น
ตัวอย่างเช่น Python ไม่อนุมัติอักขระพิเศษ เช่น @,%,$ เป็นต้น และเครื่องหมายวรรคตอนภายในชื่อตัวระบุ
นอกจากนี้ ชื่อตัวระบุต้องไม่เหมือนกับคีย์เวิร์ด
คีย์เวิร์ดคืออะไร? ต่างจากตัวระบุอย่างไร
คำสงวนใน Python ซึ่งไม่สามารถใช้เป็นตัวระบุเช่นชื่อฟังก์ชันหรือชื่อตัวแปรเรียกว่าคำหลัก มีประโยชน์ในการกำหนดโครงสร้างและไวยากรณ์ของ Python สำหรับ Python 3.7 มี 33 คำสำคัญ จำนวนนี้อาจเพิ่มขึ้นหรือลดลงเมื่อเวลาผ่านไป ยกเว้น 'True', 'False' และ 'None' คำหลักอื่นๆ ทั้งหมดจะพบเป็นตัวพิมพ์เล็กและต้องใช้ตามนั้น โดยคำนึงถึงความละเอียดอ่อนของตัวพิมพ์
กฎการตั้งชื่อสำหรับตัวระบุใน Python: ตัวระบุมีชื่ออย่างไร
สำหรับการตั้งชื่อตัวระบุ Python มีชุดกฎเฉพาะที่ต้องปฏิบัติตาม นี่คือการดู:
- ชื่อตัวระบุใน Python สามารถประกอบด้วยตัวเลข (0-9) ตัวพิมพ์ใหญ่ (AZ) ตัวพิมพ์เล็ก (az) และขีดล่าง (_)
- ชื่อควรขึ้นต้นด้วยอักขระที่ไม่ใช่ตัวเลขเสมอ
- ชื่อตัวระบุไม่ควรมีเฉพาะอักขระที่เป็นตัวเลขเท่านั้น
- ชื่อตัวระบุใน Python จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เหมือนกับภาษาอื่นๆ ส่วนใหญ่ ('แอช' ต่างจาก 'แอช')
- ผู้ใช้สามารถเริ่มตัวระบุด้วยขีดล่าง มันจะไม่แสดงข้อผิดพลาด
- ชื่อตัวระบุสามารถมีความยาวเท่าใดก็ได้ แม้ว่ากฎมาตรฐาน PEP-8 จะแนะนำให้จำกัดจำนวนอักขระในบรรทัดที่ 79
- ตัวระบุไม่ควรมีชื่อเดียวกับคำหลัก (เพื่อหลีกเลี่ยงข้อผิดพลาดในเรื่องนี้ ผู้ใช้สามารถพิมพ์ help() ตามด้วย "keywords" เพื่อดูรายการคำหลักทั้งหมดใน Python)
- ขีดล่างคู่นำหน้า (__$) ไม่สามารถใช้ได้เนื่องจากชื่อหมวดหมู่เหล่านี้ใช้สำหรับบริบทของคำจำกัดความของคลาส เหล่านี้เป็นตัวแปรส่วนตัวของคลาสที่ได้รับและคลาสพื้นฐาน
การเบี่ยงเบนจากกฎเหล่านี้ที่กล่าวถึงข้างต้นอาจนำไปสู่รายงานข้อผิดพลาดและทำให้เกิดปัญหารันไทม์ในโปรแกรม:
ตัวระบุ Python ที่ถูกต้อง (ตัวอย่าง)
การรวมกันของตัวเลข ตัวอักษร และขีดล่างซึ่งเป็นไปตามกฎที่กล่าวถึงจะได้รับการยอมรับเป็นตัวระบุ Python ที่ถูกต้อง ตัวอย่างบางส่วน ได้แก่ :
- _pratt: ชื่อตัวระบุสามารถเริ่มต้นด้วยขีดล่าง
- _ : อาจดูแปลก แต่ขีดล่างเดียวสามารถใช้เป็นชื่อตัวระบุได้
- alpha123 : ชื่อตัวระบุสามารถเริ่มต้นด้วยตัวอักษรเป็นตัวพิมพ์เล็ก
- Dogs : ชื่อตัวระบุสามารถประกอบด้วยตัวพิมพ์ใหญ่และตัวพิมพ์เล็กในรูปแบบใดก็ได้
- DRE, dre และ Dre จะถือเป็นชื่อตัวระบุที่แตกต่างกันสามชื่อเนื่องจากความแตกต่างในกรณี
ตัวระบุ Python ไม่ถูกต้อง (ตัวอย่าง)
ชื่อตัวระบุจำนวนมากที่อาจถูกต้องในภาษาการเขียนโปรแกรมอื่นไม่ถูกต้องในกรณี ของ Python ตัวอย่างบางส่วน ได้แก่ :
- 999 : ระบุชื่อที่ไม่สามารถประกอบด้วยตัวเลขหรือค่าตัวเลขเท่านั้น
- x+iy : ชื่อตัวระบุไม่สามารถมีอักขระพิเศษอื่น ๆ ยกเว้นขีดล่าง
- ในขณะที่ : ชื่อตัวระบุไม่สามารถสงวนคำสำคัญที่มีความหมายแยกจากกันสำหรับภาษา
- 123alpha : ชื่อตัวระบุไม่สามารถขึ้นต้นด้วยตัวเลขได้
จะตรวจสอบความถูกต้องของชื่อตัวระบุได้อย่างไร?
Python มีฟังก์ชันที่นักพัฒนาสามารถใช้ตรวจสอบว่าชื่อตัวระบุจะถูกประกาศถูกต้องหรือไม่ มันคือตัวระบุฟังก์ชัน ()
อย่างไรก็ตาม ข้อจำกัดของฟังก์ชันนี้คือไม่พิจารณาคีย์เวิร์ดที่สงวนไว้เพื่อระบุตัวตน
เพื่อเอาชนะข้อจำกัดนี้ Python ได้จัดเตรียมฟังก์ชันอื่นที่เรียกว่าคีย์เวิร์ด identifier() ฟังก์ชันนี้จะตรวจสอบความถูกต้องของชื่อตัวระบุโดยคำนึงถึงคำหลัก
ตัวอย่างเช่น;
พิมพ์(“xyz”.isidentifier())
พิมพ์("88x".isidentifier())
พิมพ์(“_”.ตัวระบุ())
พิมพ์("ในขณะที่".isidentifier())
เอาท์พุท:
จริง
เท็จ
จริง
จริง (เอาต์พุตไม่ถูกต้อง)
มีฟังก์ชันอื่น str.isidentifier() ที่สามารถระบุได้ว่าชื่อตัวระบุนั้นถูกต้องหรือไม่
แนวทางปฏิบัติที่ดีที่สุดสำหรับการตั้งชื่อตัวระบุใน Python คืออะไร
แม้ว่าการปฏิบัติตามกฎของ Python ก็เพียงพอแล้วสำหรับการสร้างชื่อตัวระบุที่ไม่ซ้ำกันซึ่งจะได้รับการประกาศให้ถูกต้อง อย่างมืออาชีพ ผู้ใช้ควรปฏิบัติตามแนวทางการตั้งชื่อบางอย่าง ซึ่งช่วยลดปัญหาและข้อผิดพลาดที่ไม่คาดคิดในขณะทดลองกับชื่อตัวระบุประเภทต่างๆ แม้ว่าข้อผิดพลาดเหล่านี้อาจดูเหมือนเล็กน้อยและอาจไม่รายงานข้อผิดพลาดทางไวยากรณ์ในขั้นต้น แต่ก็สามารถนำไปสู่รันไทม์ หรือข้อผิดพลาดทางตรรกะสามารถเกิดขึ้นได้ ส่งผลให้แสดงผลลัพธ์ที่ไม่ต้องการ
(สำหรับเปอร์สเปคทีฟ ข้อผิดพลาดที่เกิดขึ้นในโค้ดเรียกว่าข้อผิดพลาดทางไวยากรณ์ เมื่อไวยากรณ์ถูกต้อง แต่ตรรกะผิด – นำโปรแกรมไปสู่เส้นทางอื่น – ข้อผิดพลาดเรียกว่าข้อผิดพลาดรันไทม์)
ต่อไปนี้คือแนวทางปฏิบัติในการตั้งชื่อที่ดีที่สุดสำหรับตัวระบุใน Python:
1. สำหรับการตั้งชื่อค่าคงที่:
- ใช้ตัวพิมพ์ใหญ่หรือตัวพิมพ์ใหญ่ทั้งหมดสำหรับชื่อ
- ผู้ใช้สามารถแยกคำด้วยขีดล่าง
- ตัวอย่าง: MAX_VALUE, SUMMATION_INDEX เป็นต้น
2. สำหรับชื่อแพ็คเกจ:
- ชื่อสั้นเป็นที่ต้องการ
- ไม่แนะนำให้ใช้ขีดล่าง
- อักขระทั้งหมดควรเป็นตัวพิมพ์เล็ก
- ตัวอย่าง: โปรแกรมอรรถประโยชน์ คณิตศาสตร์ ฯลฯ
3. สำหรับชื่อคลาส
- ขอแนะนำให้เริ่มชื่อคลาสด้วยอักษรตัวพิมพ์ใหญ่ ตัวอย่างเช่น Matrix, Transpose, Shuffle เป็นต้น
- สำหรับชื่อคลาสที่มีหลายคำ ผู้ใช้สามารถใช้อักษรตัวพิมพ์ใหญ่สำหรับอักษรเริ่มต้นของแต่ละคำได้ ตัวอย่างเช่น BubbleSort, ElectricBill, StandardData
นอกเหนือจากต่อไปนี้คือแนวทางปฏิบัติในการตั้งชื่อที่ดีที่สุดสำหรับตัวระบุใน Python
- หากตัวระบุประกอบด้วยขีดล่างสองตัว ตัวระบุที่จุดเริ่มต้นและจุดสิ้นสุด ชื่อตัวระบุจะเป็นแบบพิเศษที่กำหนดภาษา ผู้ใช้ควรหลีกเลี่ยงเทคนิคการตั้งชื่อนี้
- โดยทั่วไป ชื่อของฟังก์ชันที่คืนค่าบูลีนจะขึ้นต้นด้วย 'is' ตัวอย่างเช่น isstring, iskeyword เป็นต้น
- ชื่อตัวระบุสามารถมีความยาวเท่าใดก็ได้ แต่ควรสั้นและแม่นยำเพื่อการใช้งานอย่างมีประสิทธิภาพ ชอบ First_inputed_value แต่ควรใช้ InpValue_1
- ชื่อตัวระบุควรมีความหมายเพื่อให้เข้าใจโปรแกรมได้ดีขึ้น เพื่อยกตัวอย่าง 'HRAvalue: สื่อถึงข้อความที่แฝงอยู่ได้ดีกว่า 'Asdf0022'
- ในทางเทคนิค คุณสามารถใช้ขีดล่างเป็นอักขระตัวแรกและตัวสุดท้ายได้ แต่ไม่ควรทำเช่นนั้น เนื่องจากรูปแบบนั้นใช้สำหรับประเภท Python ในตัว
- หากชื่อของตัวแปรรุ่นสำหรับฟังก์ชันมีมากกว่าหนึ่งคำ ก็ควรแยกคำเหล่านั้นด้วยขีดล่าง ตัวอย่าง: is_true(), Input_array(), object_inputted เป็นต้น
- โดยทั่วไป ฟังก์ชันโมดูลและชื่อตัวแปรจะขึ้นต้นด้วยอักษรตัวพิมพ์เล็ก ตัวอย่างเช่น dataentry(), pattern_1 เป็นต้น
บทสรุป
Python เป็นหนึ่งในภาษาโปรแกรมที่ใช้กันอย่างแพร่หลายที่สุดในทศวรรษปัจจุบัน ความสะดวกในการใช้งานช่วยอำนวยความสะดวกในขณะที่ลดความซับซ้อนในการเขียนโปรแกรมทำให้มีความได้เปรียบเหนือภาษาการเขียนโปรแกรมร่วมสมัยอื่น ๆ
ตัวระบุการตั้งชื่อเป็นหนึ่งในองค์ประกอบหลักที่ต้องทำความเข้าใจเมื่อเรียนรู้การเขียนโค้ดใน Python ตัวระบุซึ่งเป็นชื่อที่ผู้ใช้กำหนดนั้นไม่ซ้ำกันสำหรับทุกโปรแกรม ตราบใดที่มีการปฏิบัติตามกฎการตั้งชื่อ ชื่อก็ดีไป อย่างไรก็ตาม เพื่อเพิ่มประสิทธิภาพภายในกรอบเวลาที่กำหนด ขอแนะนำให้ปฏิบัติตามแนวทางการตั้งชื่อที่เป็นที่ยอมรับในระดับสากล เราหวังว่าบทความนี้จะช่วยให้คุณเรียนรู้เกี่ยวกับพื้นฐานของตัวระบุ Python
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับหน่วยการสร้างของ Python เราขอแนะนำให้เข้าร่วมโปรแกรม Data Science ของ upGrad จาก IIIT Bangalore หลักสูตร 18 เดือนประกอบด้วยเนื้อหามากกว่า 500 ชั่วโมง กรณีศึกษาและโครงการมากกว่า 60 รายการ และการเข้าถึงโอกาสในการทำงานที่ยอดเยี่ยมจากทั่วโลก หลังจากจบหลักสูตรนี้แล้ว คุณสามารถทำหน้าที่ต่างๆ เช่น Data Analyst, Data Scientist, Product Analyst, Machine Learning Engineer, Business Analyst
ติดต่อเราวันนี้เพื่อลงทะเบียนในโปรแกรม!
ตัวระบุที่ถูกต้องใน Python คืออะไร
ตัวระบุใน Python สามารถประกอบด้วยทั้งตัวพิมพ์เล็ก (a ถึง z) และตัวพิมพ์ใหญ่ (A ถึง Z) นอกจากนี้ยังสามารถรวมตัวเลข (0 ถึง 9) และเริ่มต้นด้วยขีดล่าง (_)
ให้ตัวอย่างของตัวระบุที่ถูกต้องใน Python
ต่อไปนี้คือตัวอย่างบางส่วนของตัวระบุที่ถูกต้องใน Python:
1. ธง
2. _789
3.ชื่อผู้ใช้
4. enter_user_details
สามารถใช้คำหลักเป็นตัวระบุได้หรือไม่?
ไม่ได้ ตัวระบุต้องไม่มีชื่อเหมือนกับคีย์เวิร์ด โปรดทราบว่ามีคำหลัก 33 คำใน Python