---
title: "Python สำหรับมือใหม่ #2: ตัวแปร ชนิดข้อมูล เงื่อนไข และ loop"
description: "บทความตอนที่ 2 ในซีรีส์ Python สำหรับมือใหม่ จะพาคุณเขียนโค้ดจริงครั้งแรก ด้วยตัวแปร ชนิดข้อมูล โครงสร้างควบคุม if/else และการทำซ้ำด้วย for/while loop"
pubDate: 2026-08-19T17:00:00.000Z
updatedDate: 2026-08-19T17:00:00.000Z
tag: ["Python"]
url: https://9lynn.com/blog/python-for-beginner-2/
---
# Python สำหรับมือใหม่ #2: ตัวแปร ชนิดข้อมูล เงื่อนไข และ loop

> บทความตอนที่ 2 ในซีรีส์ Python สำหรับมือใหม่ จะพาคุณเขียนโค้ดจริงครั้งแรก ด้วยตัวแปร ชนิดข้อมูล โครงสร้างควบคุม if/else และการทำซ้ำด้วย for/while loop

Original: https://9lynn.com/blog/python-for-beginner-2/ — Markdown: https://9lynn.com/blog/python-for-beginner-2.md

---

import CodeOutput from '../../../components/CodeOutput.astro'

ใน Part 1 เรารู้จักแล้วว่า Python คืออะไร และเตรียมตัวอะไรมาแล้ว คราวนี้ถึงเวลา **เขียนโค้ดจริง** สิครับ เราจะเริ่มจากพื้นฐานที่ทุกภาษาต้องมี: ตัวแปร ชนิดข้อมูล เงื่อนไข และการทำซ้ำ (loop)

---

## ตัวแปร (Variable) คืออะไร?

ตัวแปรคือ **กล่องที่เก็บข้อมูล** คุณตั้งชื่อให้กล่องนั้น แล้วใส่ค่าลงไป Python จะเดาชนิดข้อมูลให้เอง ไม่ต้องประกาศแบบภาษาอื่น

```python
name = "lynn"      # เก็บข้อความ
age = 25            # เก็บตัวเลข
height = 1.72       # เก็บทศนิยม
is_student = False  # เก็บจริง/เท็จ (True/False)
```

กฎการตั้งชื่อตัวแปร:
- ใช้ตัวอักษร a-z, A-Z, ตัวเลข และ `_` เท่านั้น
- ห้ามขึ้นต้นด้วยตัวเลข (`1name` ผิด, `name1` ถูก)
- ห้ามใช้คำสงวนของภาษา เช่น `if`, `for`, `class`
- ตั้งชื่อให้สื่อความหมาย จะดีกว่า `x`, `tmp`

ลองพิมพ์ดู:

<CodeOutput>

```python
name = "lynn"
print("สวัสดีครับ", name)
```

```text title="ผลลัพธ์"
สวัสดีครับ lynn
```

</CodeOutput>

---

## ชนิดข้อมูล (Data Types) พื้นฐาน

Python มีชนิดข้อมูลหลักที่ควรรู้ 4 ตัว:

| ชนิด | ตัวอย่าง | อธิบาย |
|------|----------|---------|
| `str` (ข้อความ) | `"สวัสดี"` | ครอบด้วย `""` หรือ `''` |
| `int` (จำนวนเต็ม) | `42` | ไม่มีทศนิยม |
| `float` (ทศนิยม) | `3.14` | มีจุดทศนิยม |
| `bool` (จริง/เท็จ) | `True` / `False` | ใช้ในเงื่อนไข |

เช็คชนิดข้อมูลด้วย `type()`:

<CodeOutput>

```python
print(type(42))
print(type("42"))
print(type(3.14))
```

```text title="ผลลัพธ์"
<class 'int'>
<class 'str'>
<class 'float'>
```

</CodeOutput>

**แปลงชนิดข้อมูล (Casting)** เวลารับค่าจากผู้ใช้มักได้เป็นข้อความ ต้องแปลงก่อนคำนวณ:

<CodeOutput>

```python
age = input("อายุคุณเท่าไหร่: ")   # ได้เป็น str เสมอ
age = int(age)                     # แปลงเป็น int
print("ปีหน้าคุณจะ", age + 1, "ปี")
```

```text title="ผลลัพธ์"
อายุคุณเท่าไหร่: 25
ปีหน้าคุณจะ 26 ปี
```

</CodeOutput>

---

## โครงสร้างควบคุม: if / elif / else

ใช้ตัดสินใจว่า "ถ้าเงื่อนไขเป็นจริง ให้ทำอะไร" สังเกตว่าหลัง `if` ต้องมีเครื่องหมาย `:` และ **บล็อกโค้ดย่อเข้าย่อหน้า (indent)** — นี่คือจุดที่มือใหม่สะดุดบ่อย เพราะ Python ใช้ช่องว่างแทนปีกกา `{ }`

<CodeOutput>

```python
score = 85

if score >= 80:
    print("เกรด A")
elif score >= 70:
    print("เกรด B")
elif score >= 60:
    print("เกรด C")
else:
    print("ต้องติวเพิ่ม")
```

```text title="ผลลัพธ์"
เกรด A
```

</CodeOutput>

ตัวดำเนินการที่ใช้บ่อย:
- `==` เท่ากับ, `!=` ไม่เท่ากับ
- `>` `<` `>=` `<=` เปรียบเทียบ
- `and` `or` `not` นำเงื่อนไขมารวมกัน

```python
if age >= 18 and is_student:
    print("เป็นนักศึกษาผู้ใหญ่แล้ว")
```

---

## การทำซ้ำ (Loop)

### for loop — วนลูปตามรายการ

<CodeOutput>

```python
fruits = ["แอปเปิ้ล", "กล้วย", "ส้ม"]
for fruit in fruits:
    print("ฉันชอบ", fruit)
```

```text title="ผลลัพธ์"
ฉันชอบ แอปเปิ้ล
ฉันชอบ กล้วย
ฉันชอบ ส้ม
```

</CodeOutput>

ใช้ `range()` สร้างลำดับตัวเลข:

<CodeOutput>

```python
for i in range(5):        # 0,1,2,3,4
    print("รอบที่", i + 1)
```

```text title="ผลลัพธ์"
รอบที่ 1
รอบที่ 2
รอบที่ 3
รอบที่ 4
รอบที่ 5
```

</CodeOutput>

### while loop — ทำซ้ำตราบใดที่เงื่อนไขเป็นจริง

<CodeOutput>

```python
count = 0
while count < 3:
    print("นับ", count)
    count = count + 1     # อย่าลืมเปลี่ยนค่า ไม่งั้นลูปไม่จบ (infinite loop)
```

```text title="ผลลัพธ์"
นับ 0
นับ 1
นับ 2
```

</CodeOutput>

---

## ลองรวมกัน: ตัวอย่างจริง

โปรแกรมเล็กๆ ที่รับอายุแล้วบอกว่าเป็นวัยไหน พร้อมนับถอยหลัง:

<CodeOutput>

```python
name = input("ชื่อของคุณ: ")
age = int(input("อายุ: "))

if age < 13:
    group = "เด็ก"
elif age < 20:
    group = "วัยรุ่น"
else:
    group = "ผู้ใหญ่"

print(f"{name} เป็น{group}")

print("นับถอยหลัง:")
for i in range(age, age - 3, -1):
    print(i)
```

```text title="ผลลัพธ์"
ชื่อของคุณ: lynn
อายุ: 25
lynn เป็นผู้ใหญ่
นับถอยหลัง:
25
24
23
```

</CodeOutput>

สังเกต `f"..."` คือ f-string — ใส่ตัวแปรลงในข้อความด้วย `{ }` ได้เลย สะดวกกว่าเติมทีละท่อน

---

## สรุป

Part 2 นี้คุณได้เขียนโค้ดจริงแล้ว:
- **ตัวแปร** เก็บข้อมูลและตั้งชื่อให้สื่อความหมาย
- **ชนิดข้อมูล** `str` `int` `float` `bool` และการแปลง type
- **if/elif/else** ตัดสินใจ โดยย่อหน้าโค้ดด้วย indent
- **for / while** ทำซ้ำได้ทั้งตามรายการและตามเงื่อนไข

ใน Part 3 เราจะไปต่อที่ **ฟังก์ชัน (function)** การนำโค้ดมาจัดเป็นก้อน reusable และ **list/dictionary** ที่จะทำให้จัดการข้อมูลหลายตัวง่ายขึ้น

**ติดตามต่อใน Part 3 นะครับ**
