บทที่ 1.1: โครงสร้างไวยากรณ์ ตัวแปร และการจัดการข้อมูล (Syntax & Variables)
เอกสารนี้ครอบคลุมโครงสร้างภาษา Python หลักการย่นระยะบรรทัด (Indentation) กฎการตั้งชื่อตัวแปร การรับและแสดงผลข้อมูล และการจัดรูปแบบข้อความ
1. โครงสร้างไวยากรณ์และการจัดบล็อกโค้ด (Syntax & Indentation)
ภาษา Python ไม่ใช้เครื่องหมายปีกกา {} หรือเซมิโคลอน ; ในการแบ่งบล็อกคำสั่ง แต่ใช้ การเว้นวรรค (Indentation) เป็นตัวกำหนดขอบเขตของโค้ด
1.1 กฎการย่นระยะ (Indentation Rules)
- มาตรฐาน PEP 8 กำหนดให้ใช้ Space 4 ช่อง ต่อ 1 ระดับชั้น
- ห้ามผสมการใช้ Tab และ Space ในไฟล์เดียวกัน
# ตัวอย่างการใช้ Indentation
if True:
print("บรรทัดนี้อยู่ในบล็อก if") # เว้นวรรค 4 ช่อง
if True:
print("บรรทัดนี้อยู่ในบล็อกชั้นใน") # เว้นวรรค 8 ช่อง
print("บรรทัดนี้อยู่นอกบล็อก") # ไม่เว้นวรรค
1.2 การเขียนคอมเมนต์ (Comments)
# คอมเมนต์แบบบรรทัดเดียว (Single-line comment)
"""
คอมเมนต์แบบหลายบรรทัด (Multi-line comment หรือ Docstring)
มักใช้สำหรับอธิบายฟังก์ชันหรือคลาส
"""
2. การประกาศตัวแปรและการจัดการหน่วยความจำ (Variables)
Python เป็นภาษาแบบ Dynamic Typing ไม่จำเป็นต้องประกาศชนิดข้อมูลของตัวแปรล่วงหน้า ตัวแปรจะถูกกำหนดประเภทตามค่าที่บรรจุอยู่ทันที
2.1 ตัวอย่างการประกาศตัวแปร
2.2 การกำหนดค่าหลายตัวแปรพร้อมกัน (Multiple Assignment)
# กำหนดค่าต่างกันในบรรทัดเดียว
a, b, c = 1, 2.5, "Hello"
# กำหนดค่าเดียวกันให้หลายตัวแปร
x = y = z = 0
# การสลับค่าตัวแปร (Swapping)
a, b = 10, 20
a, b = b, a # a จะกลายเป็น 20 และ b จะกลายเป็น 10
2.3 กฎการตั้งชื่อตัวแปร (Naming Conventions)
- ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ (
a-z,A-Z) หรือเครื่องหมาย_เท่านั้น - ห้ามขึ้นต้นด้วยตัวเลข
- ประกอบด้วยตัวอักษร ตัวเลข และ
_เท่านั้น - เป็น Case-sensitive (
Nameและnameคือคนละตัวแปร) - ห้ามใช้คำสงวน (Reserved Keywords) เช่น
if,class,def,return
# รูปแบบการตั้งชื่อตามมาตรฐาน PEP 8 (Snake Case)
total_score = 100
user_first_name = "John"
_private_variable = "Secret"
3. การแสดงผลและการรับข้อมูล (Input / Output)
3.1 ฟังก์ชัน print() และ Parameter สำคัญ
name = "Sebastian"
age = 20
# การใช้งานทั่วไป
print(name, age) # Output: Sebastian 20
# การกำหนดตัวแยกด้วย sep (Default คือ Space)
print("2026", "07", "23", sep="-") # Output: 2026-07-23
# การกำหนดตัวปิดท้ายด้วย end (Default คือ \n)
print("Hello", end=" ")
print("World") # Output: Hello World
3.2 ฟังก์ชัน input()
การรับค่าจากผู้ใช้งานผ่าน Terminal ค่าที่ได้จะอยู่ในรูปแบบ String (str) เสมอ
# การรับค่า String
raw_input = input("กรุณากรอกข้อมูล: ")
# การรับค่าและแปลงเป็นตัวเลขทันที
user_age = int(input("กรุณากรอกอายุ: "))
price = float(input("กรุณากรอกราคา: "))
4. การจัดรูปแบบข้อความ (String Formatting)
4.1 Formatted String Literals (f-strings) - แนะนำ
เริ่มใช้งานตั้งแต่ Python 3.6 เป็นวิธีการแทรกตัวแปรใน String ที่มีประสิทธิภาพสูงและอ่านง่ายที่สุด
item = "Laptop"
price = 25900.50
quantity = 2
# แสดงผลตัวแปรและคำนวณนิพจน์ภายใน {}
print(f"สินค้า: {item} | ราคารวม: {price * quantity:,.2f} บาท")
# Output: สินค้า: Laptop | ราคารวม: 51,801.00 บาท