Python สำหรับคนเริ่มต้น

EP2: ตัวแปรและชนิดข้อมูล — สร้างเครื่องคิดเลขคิดกำไรร้าน

AD
admin
AIBiz Thailand
81 views 6 นาที 16 ส.ค. 2026
แชร์ Facebook Facebook Group LINE

โปรแกรมใน EP1 ของเราพูดได้อย่างเดียว บอกให้พูดอะไรก็พูด แต่จำอะไรไม่ได้เลย EP นี้เราจะให้มันมี "ความจำ" ครับ และพอมันจำได้ มันก็เริ่มคำนวณแทนเราได้ทันที

🎯

จบ EP นี้คุณจะทำอะไรได้

สร้างตัวแปรเก็บค่าไว้ใช้ต่อได้ · แยกออกว่าข้อมูลแต่ละอย่างเป็นชนิดไหน · เขียนเครื่องคิดเลขคิดกำไรร้านตัวเองได้ 1 ตัว
ใช้เวลา: อ่าน 15 นาที + ลงมือทำ 25 นาที · ต้องผ่านมาก่อน: EP1

ทบทวน 30 วินาที — EP1 เราติดตั้ง Python กับ VS Code แล้วเขียน print() เพื่อแสดงข้อความบนจอ และรู้ว่าข้อความต้องมีเครื่องหมายคำพูดครอบ แต่ตัวเลขไม่ต้อง

ตัวแปรคือกล่องที่ติดป้ายชื่อไว้

📦

ลองนึกถึงกล่องเก็บของที่คุณเขียนป้ายแปะไว้ข้างกล่อง เวลาจะใช้ของ คุณไม่ต้องจำว่าของอยู่ตรงไหน แค่เรียกชื่อบนป้ายก็หยิบถูก — ตัวแปรก็แบบเดียวกันเป๊ะ คุณเก็บค่าไว้ในกล่อง ตั้งชื่อกล่อง แล้วเรียกใช้ด้วยชื่อนั้นได้ตลอดทั้งโปรแกรม

ตัวแปร = กล่องที่ติดป้ายชื่อไว้ price 250 ตัวเลขจำนวนเต็ม (int) cost 180 ตัวเลขจำนวนเต็ม (int) shop_name "ร้านหนูดี" ข้อความ (str) — มีเครื่องหมายคำพูด price = 250 อ่านว่า "เอาค่า 250 ใส่ลงในกล่องชื่อ price" — ลูกศรพุ่งจากขวาไปซ้ายเสมอ
เครื่องหมาย = ไม่ได้แปลว่า "เท่ากับ" แต่แปลว่า "เอาค่าฝั่งขวา ใส่ลงกล่องฝั่งซ้าย"

ลองสร้างไฟล์ใหม่ชื่อ ep2.py แล้วพิมพ์ตามนี้ครับ

shop_name = "ร้านกาแฟหนูดี"
price = 250

print(shop_name)
print(price)

ผลที่ได้

ร้านกาแฟหนูดี
250

สังเกตให้ดีนะครับ ตอนเราสั่ง print(shop_name) เราไม่ได้ใส่เครื่องหมายคำพูด เพราะเราไม่ได้อยากให้มันพิมพ์คำว่า "shop_name" ออกมา แต่อยากให้มันเปิดกล่องชื่อ shop_name แล้วเอาของข้างในออกมาพิมพ์

print(shop_name)     # ได้: ร้านกาแฟหนูดี   ← เปิดกล่องเอาของข้างใน
print("shop_name")   # ได้: shop_name       ← พิมพ์ตัวหนังสือตรงๆ

💡

เครื่องหมาย # คืออะไร

ทุกอย่างที่อยู่หลัง # ในบรรทัดนั้น Python จะไม่สนใจเลย เราเรียกว่า คอมเมนต์ มีไว้เขียนโน้ตบอกตัวเองในอนาคตว่าโค้ดตรงนี้ทำอะไร ใช้ให้ติดเป็นนิสัยตั้งแต่วันนี้เลยครับ คุณจะขอบคุณตัวเองในอีก 3 เดือน

ชนิดข้อมูล 4 แบบที่ต้องรู้

Python แยกข้อมูลออกเป็นชนิด และมันสำคัญมากเพราะข้อมูลคนละชนิดทำอะไรกันไม่ได้ เหมือนคุณเอาน้ำหนัก 5 กิโลกรัม มาบวกกับ 3 ชั่วโมง แล้วถามว่าได้เท่าไหร่ — มันตอบไม่ได้

ชนิดข้อมูล 4 แบบที่ใช้จริง 95% ของงาน str ข้อความ "ร้านหนูดี" ต้องมี " " ครอบเสมอ int จำนวนเต็ม 250 ไม่มีจุดทศนิยม float ทศนิยม 249.50 ใช้กับเงิน น้ำหนัก bool จริง / เท็จ True ใช้ตอนตัดสินใจ
มีชนิดอื่นอีกเยอะ แต่ 4 ตัวนี้ครอบคลุมงานส่วนใหญ่ที่คุณจะเจอ

ถ้าไม่แน่ใจว่าอะไรเป็นชนิดไหน ถาม Python ตรงๆ ได้ด้วยคำสั่ง type()

print(type("ร้านกาแฟหนูดี"))   # <class 'str'>
print(type(250))                # <class 'int'>
print(type(249.50))             # <class 'float'>
print(type(True))               # <class 'bool'>

คำว่า class ยังไม่ต้องสนใจครับ ดูแค่คำหลัง ' ก็พอ

คำนวณด้วยตัวแปร

พอค่าอยู่ในกล่องแล้ว เราเอากล่องมาบวกลบคูณหารกันได้เลย ตัวดำเนินการพื้นฐานมี 5 ตัว

a = 10
b = 3

print(a + b)    # 13    บวก
print(a - b)    # 7     ลบ
print(a * b)    # 30    คูณ  (ใช้ดอกจัน ไม่ใช่ x)
print(a / b)    # 3.333 หาร  (ได้ทศนิยมเสมอ)
print(a % b)    # 1     เศษจากการหาร

ที่ต้องระวังคือ เครื่องหมายคูณคือ * ไม่ใช่ x เพราะ x ถูกใช้เป็นชื่อตัวแปรได้ ถ้าเขียน a x b Python จะงงทันที

สร้างเครื่องคิดเลขคิดกำไรร้าน

ถึงเวลาเอาของจริงมาใช้แล้วครับ สมมติว่าคุณขายกาแฟแก้วละ 250 บาท ต้นทุนแก้วละ 180 บาท วันนี้ขายได้ 12 แก้ว — เราจะให้คอมพิวเตอร์คำนวณให้

# ==== ข้อมูลของร้าน (แก้ตัวเลขตรงนี้ให้เป็นของร้านคุณ) ====
shop_name = "ร้านกาแฟหนูดี"
price = 250        # ราคาขายต่อแก้ว
cost = 180         # ต้นทุนต่อแก้ว
qty = 12           # จำนวนที่ขายได้วันนี้

# ==== คำนวณ ====
revenue = price * qty            # ยอดขาย
total_cost = cost * qty          # ต้นทุนรวม
profit = revenue - total_cost    # กำไร

# ==== แสดงผล ====
print("สรุปยอดวันนี้ของ", shop_name)
print("ขายได้", qty, "แก้ว")
print("ยอดขาย", revenue, "บาท")
print("ต้นทุน", total_cost, "บาท")
print("กำไร", profit, "บาท")

รันแล้วจะได้

สรุปยอดวันนี้ของ ร้านกาแฟหนูดี
ขายได้ 12 แก้ว
ยอดขาย 3000 บาท
ต้นทุน 2160 บาท
กำไร 840 บาท

ลองเปลี่ยนเลข qty จาก 12 เป็น 50 แล้วรันใหม่ครับ — ตัวเลขทุกบรรทัดเปลี่ยนตามให้เองหมด นี่คือพลังของตัวแปร คุณแก้ที่เดียว ที่เหลือมันคิดต่อให้เอง ถ้าเราไม่ใช้ตัวแปร คุณต้องนั่งแก้ตัวเลขทุกบรรทัดเอง

💰

ลองต่อยอดเลย

เพิ่มบรรทัด margin = profit / revenue * 100 แล้ว print ออกมา คุณจะได้ % กำไรของร้านทันที ซึ่งเป็นตัวเลขที่เจ้าของร้านควรรู้แต่ส่วนใหญ่ไม่เคยคำนวณ

กับดักที่คุณจะเจอ

🚫

1. เอาข้อความไปบวกกับตัวเลข

"250" + 50 จะพังทันทีด้วย TypeError เพราะ "250" ที่มีคำพูดครอบคือข้อความ ไม่ใช่ตัวเลข ถ้าอยากแปลงให้ใช้ int("250") + 50 จะได้ 300 — เรื่องนี้จะกลับมาหลอกหลอนคุณอีกครั้งใน EP3 ครับ จำไว้ให้ดี

⚠️

2. ตั้งชื่อตัวแปรผิดกติกา

ห้ามขึ้นต้นด้วยตัวเลข (2price ไม่ได้) ห้ามมีเว้นวรรค (shop name ไม่ได้ ใช้ shop_name) และห้ามใช้คำสงวนของ Python เช่น print, if, list เป็นชื่อตัวแปร

⚠️

3. ใช้ตัวแปรก่อนสร้าง

Python อ่านจากบนลงล่าง ถ้าคุณ print(profit) ก่อนบรรทัดที่คำนวณ profit จะเจอ NameError: name 'profit' is not defined แปลว่า "ไม่รู้จักกล่องชื่อนี้" — ต้องสร้างกล่องก่อนเสมอ แล้วค่อยเรียกใช้

💡

ทำไมไม่ตั้งชื่อตัวแปรเป็นภาษาไทย

ทางเทคนิคทำได้ครับ ราคา = 250 Python ยอมรับ แต่ผมไม่แนะนำ เพราะเวลาไปดูโค้ดคนอื่น ค้นหาวิธีแก้ปัญหาใน Google หรือให้ AI ช่วยเขียน ทุกอย่างเป็นภาษาอังกฤษหมด การชินกับชื่ออังกฤษตั้งแต่วันแรกจะช่วยคุณมากในระยะยาว ส่วนคอมเมนต์เขียนไทยได้เต็มที่ครับ

ลงมือทำ

ข้อ 1 (ง่าย) — สร้างตัวแปร 3 ตัวเก็บชื่อคุณ อายุ และส่วนสูง แล้ว print ออกมาทั้งหมด พร้อมเช็คด้วย type() ว่าแต่ละตัวเป็นชนิดอะไร

ดูเฉลยข้อ 1
name = "ภูมิพัฒน์"
age = 35
height = 172.5

print(name, age, height)
print(type(name))     # str
print(type(age))      # int
print(type(height))   # float

ข้อ 2 (กลาง) — แก้เครื่องคิดเลขข้างบนให้คำนวณเปอร์เซ็นต์กำไรเพิ่ม และให้แสดงผลว่า "กำไร 840 บาท (28.0%)"

ดูเฉลยข้อ 2
price = 250
cost = 180
qty = 12

revenue = price * qty
profit = (price - cost) * qty
margin = profit / revenue * 100

print("กำไร", profit, "บาท", "(", margin, "%)")

จะเห็นว่าผลออกมาหน้าตายังไม่สวย มีเว้นวรรคเกินรอบวงเล็บ และทศนิยมยาวเกินจำเป็น — EP3 เราจะได้เครื่องมือจัดข้อความให้สวยกว่านี้ครับ

ข้อ 3 (ท้าทาย) — ร้านคุณมีสินค้า 2 อย่าง กาแฟ (ขาย 250 ทุน 180 ขายได้ 12) และเค้ก (ขาย 120 ทุน 70 ขายได้ 25) เขียนโปรแกรมสรุปกำไรรวมของทั้งร้าน และบอกด้วยว่าสินค้าไหนทำกำไรได้มากกว่า

ดูเฉลยข้อ 3
coffee_profit = (250 - 180) * 12    # 840
cake_profit = (120 - 70) * 25       # 1250
total = coffee_profit + cake_profit

print("กำไรกาแฟ", coffee_profit, "บาท")
print("กำไรเค้ก", cake_profit, "บาท")
print("กำไรรวม", total, "บาท")

เค้กทำกำไรมากกว่า (1,250 บาท) ทั้งที่ราคาถูกกว่าครึ่ง — ส่วนการให้โปรแกรมตอบเองว่าตัวไหนมากกว่า ต้องใช้เงื่อนไข ซึ่งเป็นเรื่องของ EP4 ครับ

เช็คว่าคุณผ่าน EP นี้จริง

  • อธิบายได้ว่า price = 250 ทำงานยังไง และทำไม = ไม่ได้แปลว่า "เท่ากับ"
  • บอกความต่างระหว่าง 250 กับ "250" ได้
  • เครื่องคิดเลขกำไรของคุณรันได้ และเปลี่ยนตัวเลขแล้วผลลัพธ์เปลี่ยนตามถูกต้อง
  • เขียนคอมเมนต์ด้วย # อธิบายโค้ดตัวเองได้

EP หน้าเจออะไร

ตอนนี้โปรแกรมของเรายังต้องให้คุณเข้าไปแก้ตัวเลขในโค้ดเองทุกครั้ง ซึ่งคนอื่นใช้ไม่ได้เลย EP3 เราจะทำให้โปรแกรมถามผู้ใช้เองว่าขายอะไร กี่ชิ้น แล้วออกใบเสร็จหน้าตาสวยๆ ให้ พร้อมเรียนวิธีจัดข้อความให้ตัวเลขมีลูกน้ำคั่นหลักพันและทศนิยม 2 ตำแหน่งเป๊ะครับ

ปรึกษาฟรี