ตัวแปร Python คืออะไร
ตัวแปรใน Python คือ ชื่อที่ถูกสร้างขึ้นเพื่อเก็บข้อมูลต่างๆ ของโปรแกรม
name = 'Devdit'
version = 123
สร้างตัวแปรชื่อ name เป็นชนิดข้อความ เก็บค่า 'Devdit'
สร้างตัวแปรชื่อ version เป็นชนิดตัวเลข เก็บค่า 123
แล้วชนิดตัวแปร Python คืออะไร
มีอะไรบ้าง
ชนิดตัวแปร | คำอธิบาย | ตัวอย่างข้อมูล |
int | ตัวเลขจำนวนเต็ม | 1, 2, 3, -1, -2, -3 |
float | ตัวเลขทศนิยม | 10.23, -78.63 |
complex | จำนวนเชิงซ้อน | 1 + 2x |
str | ข้อความ | Hello Devdit |
bool | ค่าความจริง | True, False |
list | รายการ | ['red', ‘green', ‘blue’] |
tuple | รายการที่ไม่สามารถเปลี่ยนแปลงได้ | ('red', ‘green’, ‘blue’) |
dict | พจนานุกรม | {'key': ‘value’, … } |
set | เซ็ต | {1, 2, 3} |
ถ้าต้องการประกาศตัวแปรชื่อ a ชนิด int มีค่าเท่ากับ 123
int a = 123
ถูกไหม
ไม่ถูกหากรันจะเกิด
SyntaxError: invalid syntax
เพราะ Python เป็น dynamic typing แปลว่าไม่ต้องกำหนดชนิดตัวแปร
Python จะกำหนดชนิดตัวแปรจากค่าของตัวแปรที่กำหนด
ถ้าจะประกาศตัวแปรชื่อ a ชนิด int มีค่าเท่ากับ 123
a = 123
แล้ว Python มีกฏการตั้งชื่อตัวแปรไหม
1. ขึ้นต้นด้วยอักษรภาษาอังกฤษ หรือขีดล่าง
เช่น name, _version
2. ห้ามมีช่องว่าง หรือสัญลักษณ์พิเศษนอกจากขีดล่าง
3. ห้ามตั้งชื่อซ้ำกับสงวน หรือคำสั่งของ Python
เช่น for, print
4. ควรตั้งชื่อที่สื่อความหมายของค่าที่เก็บ
เช่น name = 'devdit'
มีอีกแต่หลักๆ ก็ประมาณนี้
เคยได้ยิน Snake Case และ Camel Case
เกี่ยวข้องกับตัวแปร Python ยังไง
Snake Case และ Camel Case คือรูปแบบการตั้งชื่อตัวแปรใน Python ที่นิยมกัน
Snake Case จะใช้ขีดล่างเชื่อมชื่อตัวแปรที่มีมากกว่า 2 คำ
เช่น my_name, my_address
Camel Case ตัวอักษรแรกของคำที่มาเชื่อมจะใช้ตัวพิมพ์ใหญ่
เช่น myName, myAddress
แล้วเราจะพิมพ์ค่าตัวแปรออกสู่หน้าจอได้ยังไง
name = 'Devdit'
print(name)
// ผลลัพธ์
Devdit
ถ้าต้องการแสดงข้อความร่วมกับตัวแปร
name = 'Devdit'
print('Hello '+name)
// ผลลัพธ์
Hello Devdit
ในคำสั่ง print สามารถแสดงค่าตัวแปรมากกว่า 1 ตัวแปรได้ไหม
ได้
name = 'Devdit'
address = 'Thailand'
print('Hello: '+name+' / Address: '+address)
// ผลลัพธ์
Hello: Devdit / Address: Thailand
ใช้เครื่องหมาย + เพื่อเชื่อมข้อความกับตัวแปร หรือตัวแปรกับตัวแปร
ลองเขียนแสดงค่าตัวเลขดู แต่รันไม่ได้
number = 10
print('Number: '+number)
Traceback (most recent call last):
File "C:\python\code.py", line 2, in
print('Number: '+number)
~~~~~~~~~~^~~~~~~
TypeError: can only concatenate str (not "int") to str
เกิดจากอะไร
ผิดเพราะ ไม่สามารถเชื่อมข้อความกับตัวแปรชนิดตัวเลขได้ด้วย +
วิธีแก้ไข แปลงตัวแปร number ให้เป็นข้อความด้วย str
number = 10
print('Number: '+str(number))
// ผลลัพธ์
Number: 10
รันโปรแกรมได้แล้ว ขอบคุณ
งั้นขอตัวไปฝึกสร้างตัวแปรด้วย Python ก่อนนะ
OK ขอให้ไม่เจอ Error นะ