ภาษา Python ใช้ เครื่องหมาย หรือ สัญลักษณ์ ใด ใน การ กำหนด ขอบเขต ของ คำ สั่ง
เออ.. เคยสงสัยไหมว่า Python มันแปลกแหละ แตกต่างจากภาษาอื่นยังไง? คือแบบ.. ถ้าเคยเขียนภาษาอื่นมาก่อน อย่าง C++ หรือ Java อะไรพวกนี้ จะคุ้นเคยกับการใช้วงเล็บปีกกา { } ใช่ป่ะ? เพื่อบอกขอบเขตของโค้ด แต่ Python นี่สิ.. ใช้การเยื้อง! Indentation! แปลกดีเนอะ
คืออย่างงี้ Python ใช้การเยื้องนี่แหละ (เหมือนกด Tab ในคีย์บอร์ด) เพื่อบอกว่าโค้ดส่วนไหนมันอยู่บล็อกเดียวกัน เช่น ใน if-else, loop, ฟังก์ชั่น อะไรพวกนี้ จำเป็นมากนะ! ถ้าเยื้องไม่เท่ากัน โปรแกรมจะรวนเลยแหละ ผมเคยเจอมากับตัว ตอนนั้นเขียนโปรแกรม.. อะไรนะ.. อ้อ! จำได้ละ โปรแกรมเช็คเกรดนักศึกษา เยื้องผิดไปแค่ tab เดียว โปรแกรมพังทลาย! แทบร้องไห้.. ต้องมานั่งไล่โค้ดใหม่หมดเลย แย่จริงๆ
อีกอย่างนึง.. เรื่องเครื่องหมายเท่ากับ (=) ก็แอบต่างจากคณิตศาสตร์นิดหน่อยนะ อย่าสับสน! ใน Python มันไม่ใช่การเท่ากันแบบเป๊ะๆ แต่เป็นการ "กำหนดค่า" คือ เอาค่าทางขวา ยัดใส่ตัวแปรทางซ้าย เช่น x = 5 ก็คือ เอา 5 ใส่ใน x ง่ายๆ แค่นี้แหละ แต่บางทีก็เผลอลืมนะ โดยเฉพาะตอนเขียนโค้ดยาวๆ สมองเบลอๆ แล้วก็งงว่าทำไมโปรแกรมมันรันไม่ผ่าน ????
ลองนึกภาพตามนะ สมมุติว่า x เป็นเหมือนกล่องใบหนึ่ง แล้ว x = 5 ก็เหมือนกับการเอาเลข 5 ใส่ลงไปในกล่องนั้น เข้าใจป่ะ? มันไม่ได้หมายความว่า x กับ 5 เท่ากันในเชิงคณิตศาสตร์ แต่มันคือการเอาค่า 5 ไปเก็บไว้ใน x ต่างหาก สำคัญนะเนี่ย! ถ้าไม่เข้าใจตรงนี้ อาจจะงงได้ตอนเขียนโปรแกรมที่ซับซ้อนขึ้น
แล้วก็เรื่องการเยื้องเนี่ย.. ต้องระวังมากๆ เลยนะ คือต้องเยื้องให้เท่ากันตลอดทั้งบล็อก เคยเจอไหม.. โค้ดเป็นพันบรรทัด แล้วเยื้องผิดไปนิดเดียว หาจุดผิดแทบตาย! บางทีก็อยากจะเขวี้ยงคอมทิ้ง (ล้อเล่นนะ ????) ดังนั้น เวลาเขียนโค้ด Python ต้องรอบคอบเรื่องการเยื้องมากๆ ไม่งั้นงานเข้าแน่ๆ
ความคิดเห็นต่อคำตอบ:
ขอบคุณสำหรับความคิดเห็นของคุณ! ความคิดเห็นของคุณมีความสำคัญมากในการช่วยเราปรับปรุงคำตอบในอนาคต