แต่เอ๊ะ แล้วทำไมตัวแปรถึงไม่มีชนิดตามข้อมูลล่ะ ง่ายนิดเดียวครับ เพราะตัวแปรเป็นพอยเตอร์ที่เอาไว้ชี้ข้อมูลจริงๆ นั่นเอง เมื่อถึงเวลาใช้แล้วนั้น ตัวแปรจะมีชนิดเปลี่ยนไปตามข้อมูลที่กำลังชี้อยู่ ด้วยเหตุนี้เองทำให้ตัวแปรของไพธอนไม่มีชนิดที่แน่นอนตายตัว ทำให้กลายเป็นทั้งข้อดีและข้อเสียในเวลาเดียวกัน ข้อดีได้แก่
- สะดวก ประหยัด
- เปลี่ยนชนิดของตัวแปรระหว่างการทำงานได้
ในขณะที่ข้อเสีย เช่น
- ไม่สามารถตรวจสอบความถูกต้องได้จนกว่าจะใช้งานจริง
- ไม่สามารถรู้ชนิดของตัวแปรจนกว่าจะใช้งานจริง
อย่างไรก็ตาม แม้ว่าตัวแปรของไพธอนจะไม่ต้องกำหนดชนิดที่แน่นอน แต่ตัวแปรจะต้องถูกกำหนดค่าก่อนนำไปใช้เสมอ การกำหนดค่าครั้งแรกถือว่าเป็นการประกาศตัวแปรนั้นขึ้นมาใช้งานทันที เช่น
print a a = 1
ตัวอย่างด้านบนไม่สามารถทำงานได้เพราะ a ยังไม่ถูกประกาศก่อนการใช้งานในบรรทัดแรก ทำให้โปรแกรมเกิดข้อผิดพลาดและหยุดทำงานทันที ตัวอย่างถัดไปเป็นตัวอย่างที่ถูกต้อง
a = 1 print a a = 1.0 print a a = 'abc' print a
