ตัวแปรและชนิดข้อมูล
ตัวแปร คือ ชื่อที่ถูกกำหนดขึ้นเพื่อใช้เก็บค่าในหน่วยความจำสำหรับนำไปใช้งานในโปรแกรม ซึ่งอาจจะถูกใช้จากการรับข้อมูล เก็บค่าคงที่ ข้อความ หรือผลลัพธ์การทำงาน ในการกำหนดชื่อตัวแปรต้องเป็นชื่อที่ไม่ตรงกับคำสงวน ซึ่งคำสงวนจะกล่าวถึงในลำดับต่อไป
ตัวแปร ถ้าให้มองแบบเข้าใจง่าย ๆ ก็คือ ชื่อที่เราตั้งขึ้นมา ตั้งชื่อว่าอะไรก็ได้ ตั้งขึ้นมาเพื่อเอาไว้เก็บข้อมูลต่าง ๆ ในโปรแกรม ตัวอย่างชื่อที่ตั้งขึ้นมาเองเช่น name ตั้งขึ้นมาเพื่อเอาไว้เก็บชื่อ tel ชื่อตัวแปรที่กำหนดขึ้นมาเพื่อเก็บเบอร์โทร เป็นต้น
หลักการตั้งชื่อตัวแปร
การตั้งชื่อตัวแปรไม่ใช่ว่าจะตั้งชื่ออย่างไรก็ได้ เพราะเราอาจเผลอไปตั้งชื่อตัวแปรที่ตรงกับคำสงวน ที่โปรแกรมห้ามตั้งซ้ำกับคำสงวนอยู่แล้ว อาจทำให้โปรแกรมที่เขียนเกิด Error ได้ หลักการตั้งชื่อตัวแปรที่ถูกต้องในภาษาไพธอนมีดังนี้
- ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ แล้วตามด้วยตัวอักษรหรือตัวเลขใดๆก็ได้
- ห้ามเว้นช่องว่าง และห้ามใช้สัญลักษณ์พิเศษนอกเหนือจาก underscore "_" เท่านั้น
- ตัวอักษรของชื่อจะคำนึงถึงความแตกต่างระหว่างอักษรตัวพิมพ์ใหญ่กับตัวพิมพ์เล็ก
- การตั้งชื่อมีข้อพึงระวังว่า จะต้องไม่้ซ้ำกับคำสงวน (Reserved word, Keyword)
- ควรจะตั้งชื่อโดยให้ชื่อนั้นมีสื่อความหมายให้เข้ากับข้อมูล สามารถอ่านและเข้าใจได้
- ห้ามใช้เครื่องหมายต่อไปนี้ในการตั้งชื่อตัวแปร !,@, #, $, %, ^, &, *, (, ), -, =, \, |, +, ~
- ตัวแปรที่มีพิมพ์ใหญ่และตัวพิมพ์เล็กผสมกันจะมีความหมายต่างกัน กับตัวพิมพ์เล็กเพียงอย่างเดียว
ตัวอย่างการตั้งชื่อตัวแปร
teerapon |
dog |
cat |
chada |
chadatharn |
chadaporn |
CHADA |
CHADATHARN |
number |
ChaDa |
ChaDaTharn |
Number |
ChadA |
ChadaTharN |
NUMBER |
eyes |
Dek1 |
Uma_porn |
EYES |
DEK1 |
text |
nam |
NAM |
TEXT |
ชื่อตัวแปรเราจะกำหนดเป็นชื่ออะไรก็ได้ไม่บังคำ ขอเพียงอยู่ในกฏการตั้งชื่อตัวแปรดังที่กล่าวมาแล้ว และชื่อตัวแปรต้องไม่ตั้งซ้ำกับคำสงวนหรือเรียกอีกอย่างหนึ่งว่าคำหลัก keyword ซึ่งคำสงวนคือคำสั่งของภาษาไพธอนที่สงวนไว้ใช้โดยเฉพาะ เราห้ามตั้งซ้ำกับคำสงวนเด็ดขาด คำสงวนมีดังนี้
วิธีการประกาศตัวแปรในภาษาไพธอนทำได้ดังนี้
ชื่อตัวแปร = ค่าข้อมูลที่จะเก็บ
number = 100;
เป็นการประกาศตัวแปรชื่อว่า number มีค่าข้อมูลเก็บไว้คือเลข 100
ชนิดข้อมูลของตัวแปร
เป็นการกำหนดประเภทข้อมูลของตัวแปรที่สร้างขึ้นมาว่า ข้อมูลนั้นมีลักษณะอย่างไร โดยชนิดข้อมูลที่มักจะใช้งานบ่อย ได่แก่ ข้อมูลชนิดตัวเลข จำนวนเต็ม จำนวนจริง อักขระ หรือข้อความ
1. ข้อมูลชนิดตัวอักษร (Character) คือ ข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าอักขะ
2. ข้อมูลชนิดข้อความ(string) คือชนิดข้อมูลที่เก็บชุดตัวอักขะตั้งแต่ 2 ตัวขึ้นไป
3. ข้อมูลชนิดจำนวนเต็ม (Integer) คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ ศูนย์ ใช้พื้นที่ในการเก็บ 2 ไบต์
4. ข้อมูลชนิดเลขทศนิยม (Float) คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
โดยใน Python นั้นมีให้เราเลือกเก็บมากมาย แต่ก็จะมีเพียง 6 ประเภทที่เราจะได้ใช้งานกันบ่อย ๆ ดังต่อไปนี้
ประเภทข้อมูล | ประเภทข้อมูลที่จัดเก็บ | ตัวอย่างข้อมูลที่จัดเก็บได้ |
---|---|---|
String | ตัวอักษร | "kumamon" "1112" |
Boolean | ค่าจริงหรือเท็จ | True False |
Float | ค่าที่มีจุดทศนิยม | 1.00 1.112 -0.999 |
Integer | จำนวนเต็ม | 2000 0 -1 |
List | ลิสต์ | [1, 0, -555] |
Dictionary | ดิกชันแนรี | [{'a': '1112', 'b': 0, 'c': 555}] |
ตัวอย่างการประกาศตัวแปรในภาษาไพธอน
วิธีที่ 1 ประกาศตัวแปรแบบไม่ระบุชนิดข้อมูล
num = 100;
วิธีที่ 2 การประกาศตัวแปรแบบระบุชนิดข้อมูลลงไปด้วย
num=int(100); num คือชื่อตัวแปร int คือชนิดข้อมูลชนิดจำนวนเต็ม ย่อมาจาก integer และ 100 ในวงเล็บคือค่าข้อมูลของตัวแปร num
เวลาเราประกาศตัวแปรในภาษาไพธอนเราจะประกาศวิธีไหนก็ได้ ระบุชนิดข้อมูลหรือไม่ระบุก็ได้ แต่หากต้องการใช้ค่าตัวเลขในตัวแปรเพื่อคำนวณให้แม่นยำ เราควรระบุชนิดข้อมูลเหมือนวิธีที่ 2 เพื่อให้ตัวแปลภาษาของไพธอนรู้ว่าข้อมูลที่อยู่ภายในตัวแปรเป็นข้อมูลตัวเลข เพราะหากไม่รุบุชนิดข้อมูลลงไป ตัวแปรภาษาไพธอนจะมองข้อมูลในตัวแปรเป็นตัวอักษร ถึงแม้เราจะพิมพ์ตัวเลขลงไปก็ตาม
ตัวอย่างการประกาศตัวแปรชนิดตัวอักษรในภาษาไพธอน
name="Teerapon";
name คือชื่อตัวแปร Teerapon คือค่าข้อมูลชนิดตัวอักษร ซึ่งต้องระบุค่าข้อมูลภายในเครื่องหมาย ""
หรือเราจะประกาศตัวแปรแบบระบุชนิดข้อมูลเข้าไปด้วยก็ได้ ตัวอย่างเช่น
name=str("teerapon");
name คือชื่อตัวแปร str คือชนิดข้อมูลชนิดตัวอักษรหรือสายอักขระ ย่อมาจาก string และท้ายสุดคือ teerapon ที่อยู่ภายใต้เครื่องหมาย "" คือค่าข้อมูลของตัวแปร name ที่เราประกาศขึ้น ซึ่งจะเห็นได้ว่า ไพธอนมีความยืดหยุ่น เราจะระบุชนิดข้อมูล หรือไม่ระบุชนิดข้อมูลลงไป โปรแกรมก็รันได้เหมือนเดิม