On this page
- Python คืออะไร
- ทำไมต้อง Python
- ติดตั้งสภาพแวดล้อม (Environment Setup)
- ติดตั้ง Python
- Python Shell
- ติดตั้ง Visual Studio Code
- วิธีใช้ Visual Studio Code
- พื้นฐาน Python
- Syntax ของ Python
- การเยื้อง (Python Indentation)
- คอมเมนต์ (Comments)
- ชนิดข้อมูล (Data Types)
- ตัวเลข (Number)
- สตริง (String)
- บูลีน (Boolean)
- ลิสต์ (List)
- ดิกชันนารี (Dictionary)
- ทูเพิล (Tuple)
- เซต (Set)
- เช็คชนิดข้อมูล
- ไฟล์ Python
- แบบฝึกหัด — วันที่ 1
- ระดับ 1
- ระดับ 2
- ระดับ 3
วันที่ 1 — บทนำ (Introduction)
รู้จัก Python, ติดตั้งให้พร้อม แล้วเขียนโปรแกรมแรก — เริ่มต้นการเดินทาง 30 วัน
ยินดีที่คุณตัดสินใจเข้าร่วม challenge 30 วัน Python ในระหว่างนี้คุณจะได้เรียนทุกอย่างที่จำเป็นสำหรับการเป็นโปรแกรมเมอร์ Python รวมถึงแนวคิดพื้นฐานของการเขียนโปรแกรม เมื่อสิ้นสุด challenge คุณจะได้รับประกาศนียบัตร 30DaysOfPython programming challenge
Python คืออะไร
Python เป็นภาษาโปรแกรมระดับสูง (high-level programming language) สำหรับงานทั่วไป เป็น open source, interpreted และ object-oriented Python ถูกสร้างโดย Guido van Rossum โปรแกรมเมอร์ชาวดัตช์ ชื่อ Python มาจากรายการตลก Monty Python's Flying Circus เวอร์ชันแรกเปิดตัวเมื่อ 20 กุมภาพันธ์ 1991 challenge 30 วัน Python นี้จะช่วยให้คุณเรียน Python 3 เวอร์ชันล่าสุดทีละขั้น หัวข้อถูกแบ่งเป็น 30 วัน แต่ละวันมีหลายหัวข้อพร้อมคำอธิบายที่เข้าใจง่าย ตัวอย่างจากโลกจริง และแบบฝึกหัดลงมือทำมากมาย
challenge นี้ออกแบบมาสำหรับทั้งผู้เริ่มต้นและมืออาชีพที่ต้องการเรียน Python อาจใช้เวลา 30 ถึง 100 วันในการจบ challenge ผู้ที่เข้าร่วมกลุ่ม Telegram อย่างกระตือรือร้นมีโอกาสสูงที่จะจบ challenge ได้
challenge นี้อ่านง่าย เขียนแบบสนทนา น่าสนใจ สร้างแรงบันดาลใจ แต่ในขณะเดียวกันก็ท้าทายมาก คุณต้องใช้เวลาเป็นอย่างมากในการทำให้จบ ถ้าคุณเรียนรู้ได้ดีจากวิดีโอ สามารถดูบทเรียนวิดีโอได้ที่ YouTube channel Washera เริ่มจากวิดีโอ Python for Absolute Beginners ได้เลย ติดตาม channel, comment และถามคำถามในวิดีโอ YouTube อย่างกระตือรือร้น ผู้เขียนจะสังเกตเห็นคุณในที่สุด
ผู้เขียนอยากได้ยินความคิดเห็นของคุณเกี่ยวกับ challenge นี้ คุณสามารถฝากคำพูดไว้ได้ที่ asabeneh.com/testimonials
ทำไมต้อง Python
Python เป็นภาษาโปรแกรมที่ใกล้เคียงภาษามนุษย์มากที่สุด จึงเรียนรู้และใช้งานได้ง่าย Python ถูกใช้โดยบริษัทและอุตสาหกรรมต่าง ๆ รวมถึง Google ใช้พัฒนาเว็บแอปพลิเคชัน, เดสก์ท็อปแอป, การจัดการระบบ และไลบรารี machine learning Python ได้รับการยอมรับอย่างมากในวงการ data science และ machine learning หวังว่านี่เพียงพอที่จะโน้มน้าวให้คุณเริ่มเรียน Python
ติดตั้งสภาพแวดล้อม (Environment Setup)
ติดตั้ง Python
ในการรัน Python script คุณต้องติดตั้ง Python ก่อน ดาวน์โหลดได้ที่ python.org
ถ้าคุณใช้ Windows ให้คลิกปุ่มที่วงกลมสีแดง:

ถ้าคุณใช้ macOS ให้คลิกปุ่มที่วงกลมสีแดง:

หลังติดตั้งแล้ว ตรวจสอบว่า Python ติดตั้งสำเร็จโดยพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล:
python3 --version
จากที่เห็นในเทอร์มินัล ผู้เขียนกำลังใช้ Python 3.7.5 เวอร์ชันของคุณอาจต่างออกไปแต่ควรเป็น 3.6 หรือสูงกว่า ถ้าเห็นเวอร์ชัน Python แสดงว่าติดตั้งสำเร็จแล้ว ไปต่อยังส่วนถัดไปได้เลย
Python Shell
Python เป็นภาษาสคริปต์แบบ interpreted จึงไม่ต้องคอมไพล์ หมายความว่ามันรันโค้ดทีละบรรทัด Python มาพร้อมกับ Python Shell (Python Interactive Shell) ที่ใช้รันคำสั่ง Python เดี่ยว ๆ แล้วดูผลลัพธ์ทันที
Python Shell รอรับโค้ด Python จากผู้ใช้ เมื่อคุณพิมพ์โค้ดแล้วกด Enter มันจะแปลผลและแสดงผลในบรรทัดถัดไป เปิดเทอร์มินัลหรือ command prompt แล้วพิมพ์:
python
Python Interactive Shell จะเปิดขึ้นและรอให้คุณเขียนโค้ด Python คุณจะเขียน Python script ต่อจากสัญลักษณ์ >>> แล้วกด Enter
ลองเขียน script แรกของคุณใน Python Shell:

เยี่ยม! คุณเขียน Python script แรกใน Python Interactive Shell สำเร็จแล้ว จะปิด Python Interactive Shell ได้อย่างไร? ให้พิมพ์ exit() ต่อจากสัญลักษณ์ >>> แล้วกด Enter

ตอนนี้คุณรู้วิธีเปิดและปิด Python Interactive Shell แล้ว
Python จะให้ผลลัพธ์ถ้าคุณเขียน script ที่มันเข้าใจ ถ้าไม่ได้มันจะ return error ลองทำผิดแบบตั้งใจดูว่า Python จะ return อะไร:

จากที่เห็น Python ฉลาดมากพอที่จะรู้ว่าเราทำอะไรผิด นั่นคือ Syntax Error: invalid syntax การใช้ x แทนการคูณใน Python เป็น syntax error เพราะ (x) ไม่ใช่ syntax ที่ถูกต้องใน Python ควรใช้เครื่องหมายดอกจัน (*) แทน error ที่แสดงบอกชัดเจนว่าต้องแก้ตรงไหน
กระบวนการค้นหาและลบ error ออกจากโปรแกรมเรียกว่า debugging ลอง debug โดยเปลี่ยน x เป็น *:

bug ถูกแก้แล้ว โค้ดรันได้และเราได้ผลลัพธ์ตามที่คาด ในฐานะโปรแกรมเมอร์คุณจะเจอ error แบบนี้ทุกวัน การรู้วิธี debug จึงสำคัญมาก เพื่อ debug ได้ดีต้องเข้าใจว่ากำลังเผชิญกับ error ชนิดใด ตัวอย่าง error ที่อาจพบใน Python ได้แก่ SyntaxError, IndexError, NameError, ModuleNotFoundError, KeyError, ImportError, AttributeError, TypeError, ValueError, ZeroDivisionError เป็นต้น เราจะดู error แต่ละประเภทในบทถัด ๆ ไป
ลองฝึก Python Interactive Shell เพิ่มเติม เปิดเทอร์มินัลหรือ command prompt แล้วพิมพ์ python:

Python Interactive Shell เปิดขึ้นแล้ว ลองทำการคำนวณทางคณิตศาสตร์พื้นฐาน (บวก ลบ คูณ หาร หาร เศษ ยกกำลัง):
ลองทำคณิตศาสตร์ก่อนเขียน Python code:
- 2 + 3 = 5
- 3 - 2 = 1
- 3 × 2 = 6
- 3 / 2 = 1.5
- 3 ** 2 = 3 x 3 = 9
ใน Python มีการดำเนินการเพิ่มเติม:
- 3 % 2 = 1 → หาเศษ (modulus)
- 3 // 2 = 1 → หารทิ้งเศษ (floor division)
ลองแปลงสมการคณิตศาสตร์ข้างต้นเป็น Python code ใน Python Shell ลองเขียน comment ก่อน Comment คือส่วนของโค้ดที่ Python ไม่รัน จึงสามารถฝากข้อความไว้ในโค้ดเพื่อให้อ่านง่ายขึ้นได้ comment ใน Python ขึ้นต้นด้วย hash (#):
# comment starts with hash
# this is a python comment, because it starts with a (#) symbol
ก่อนไปส่วนถัดไป ลองฝึก Python Interactive Shell เพิ่มอีกสักครั้ง ปิด Shell แล้วเปิดใหม่ แล้วลองเขียนข้อความใน Python Shell:

ติดตั้ง Visual Studio Code
Python Interactive Shell เหมาะสำหรับทดลองและทดสอบโค้ดขนาดเล็ก แต่ไม่เหมาะสำหรับโปรเจกต์ขนาดใหญ่ ในสภาพแวดล้อมการทำงานจริง นักพัฒนาใช้ code editor ที่หลากหลาย ใน challenge 30 วัน Python นี้เราจะใช้ Visual Studio Code ดาวน์โหลดได้ที่ code.visualstudio.com

ถ้าติดตั้ง Visual Studio Code แล้ว มาดูวิธีใช้งานกัน ถ้าต้องการเรียนผ่านวิดีโอสามารถดู Visual Studio Code for Python Video tutorial ได้
วิธีใช้ Visual Studio Code
เปิด Visual Studio Code โดย double click ที่ icon เมื่อเปิดขึ้นมาจะเห็น interface แบบนี้ ลองโต้ตอบกับ icon ต่าง ๆ ที่มีป้ายกำกับ:

สร้างโฟลเดอร์ชื่อ 30DaysOfPython บน desktop แล้วเปิดด้วย Visual Studio Code:


หลังเปิดขึ้นมาจะเห็น shortcut สำหรับสร้างไฟล์และโฟลเดอร์ภายใน 30DaysOfPython ตามตัวอย่างด้านล่าง ผู้เขียนสร้างไฟล์แรกชื่อ helloworld.py คุณลองทำเช่นเดียวกัน:

หลังจากทำงานมาตลอดวันแล้วต้องการปิด code editor นี่คือวิธีปิดโปรเจกต์ที่เปิดอยู่:

ยินดีด้วย คุณติดตั้งสภาพแวดล้อมสำหรับพัฒนาเสร็จแล้ว มาเริ่มเขียนโค้ดกันเลย
พื้นฐาน Python
Syntax ของ Python
Python script สามารถเขียนได้ใน Python Interactive Shell หรือใน code editor ไฟล์ Python มีนามสกุล .py
การเยื้อง (Python Indentation)
การเยื้อง (indentation) คือช่องว่างในข้อความ ในหลายภาษาการเยื้องใช้เพิ่มความสามารถในการอ่านโค้ด แต่ใน Python การเยื้องใช้สร้างบล็อกโค้ด ภาษาอื่น ๆ ใช้วงเล็บปีกกา {} สร้างบล็อกโค้ดแทน bug ที่พบบ่อยเมื่อเขียน Python code คือการเยื้องผิด:

คอมเมนต์ (Comments)
คอมเมนต์มีบทบาทสำคัญในการเพิ่มความสามารถในการอ่านโค้ดและให้นักพัฒนาฝากข้อความในโค้ดได้ ใน Python ข้อความที่นำหน้าด้วย hash (#) ถือเป็น comment และไม่ถูกรันเมื่อโค้ดทำงาน
ตัวอย่าง: Single Line Comment
# This is the first comment
# This is the second comment
# Python is eating the worldตัวอย่าง: Multiline Comment — เครื่องหมายคำพูดสามสามารถใช้เป็น multiline comment ได้ถ้าไม่ได้กำหนดให้ตัวแปร:
"""This is multiline comment
multiline comment takes multiple lines.
python is eating the world
"""ชนิดข้อมูล (Data Types)
ใน Python มีชนิดข้อมูลหลายประเภท มาดูชนิดที่พบบ่อยที่สุดกันก่อน ชนิดข้อมูลต่าง ๆ จะถูกครอบคลุมในรายละเอียดในบทอื่น ๆ ตอนนี้แค่ทำความรู้จักและคุ้นเคยก่อน ยังไม่ต้องเข้าใจอย่างชัดเจนทั้งหมด
ตัวเลข (Number)
- Integer: จำนวนเต็ม (ลบ, ศูนย์ และบวก) — ตัวอย่าง: ..., -3, -2, -1, 0, 1, 2, 3, ...
- Float: ทศนิยม — ตัวอย่าง: ..., -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5, ...
- Complex: จำนวนเชิงซ้อน — ตัวอย่าง: 1 + j, 2 + 4j
สตริง (String)
ชุดตัวอักษรหนึ่งตัวขึ้นไปที่อยู่ในเครื่องหมายคำพูดเดี่ยวหรือคู่ ถ้ามีมากกว่าหนึ่งประโยคใช้เครื่องหมายสาม:
'Asabeneh'
'Finland'
'Python'
'I love teaching'
'I hope you are enjoying the first day of 30DaysOfPython Challenge'บูลีน (Boolean)
ชนิดข้อมูลบูลีนมีค่าได้แค่หนึ่งในสองค่าคือ True หรือ False การใช้ชนิดข้อมูลนี้จะชัดเจนขึ้นเมื่อเราเริ่มใช้ comparison operator ตัว T ใน True และ F ใน False ต้องเป็นตัวพิมพ์ใหญ่ (ต่างจาก JavaScript):
True # Is the light on? If it is on, then the value is True
False # Is the light on? If it is off, then the value is Falseลิสต์ (List)
ลิสต์ใน Python คือชุดข้อมูลที่เรียงลำดับ แก้ไขได้ (modifiable) อนุญาตให้มีข้อมูลซ้ำ และสามารถเก็บชนิดข้อมูลที่ต่างกันได้ (คล้าย array ใน JavaScript):
[0, 1, 2, 3, 4, 5] # all are the same data types - a list of numbers
['Banana', 'Orange', 'Mango', 'Avocado'] # all the same data types - a list of strings (fruits)
['Finland','Estonia', 'Sweden','Norway'] # all the same data types - a list of strings (countries)
['Banana', 10, False, 9.81] # different data types in the list - string, integer, boolean and floatดิกชันนารี (Dictionary)
ดิกชันนารีใน Python เป็นชุดข้อมูลที่ไม่มีลำดับในรูปแบบ key-value pairs:
{
'first_name':'Asabeneh',
'last_name':'Yetayeh',
'country':'Finland',
'age':250,
'is_married':True,
'skills':['JS', 'React', 'Node', 'Python']
}ทูเพิล (Tuple)
ทูเพิลเป็นชุดข้อมูลที่เรียงลำดับและมีชนิดข้อมูลหลายแบบเหมือนลิสต์ แต่ทูเพิลไม่สามารถแก้ไขได้เมื่อสร้างแล้ว — เป็น immutable:
('Asabeneh', 'Pawel', 'Brook', 'Abraham', 'Lidiya') # Names('Earth', 'Jupiter', 'Neptune', 'Mars', 'Venus', 'Saturn', 'Uranus', 'Mercury') # planetsเซต (Set)
เซตเป็นชุดข้อมูลที่คล้ายลิสต์และทูเพิล แต่ต่างจากลิสต์และทูเพิลตรงที่เซตไม่มีลำดับ เหมือนกับเซตในคณิตศาสตร์ เซตใน Python เก็บเฉพาะข้อมูลที่ไม่ซ้ำกัน ในบทถัด ๆ ไปเราจะเจาะลึกชนิดข้อมูลแต่ละแบบ:
{2, 4, 3, 5}
{3.14, 9.81, 2.7} # order is not important in setเช็คชนิดข้อมูล
ในการเช็คชนิดข้อมูลของข้อมูลหรือตัวแปร เราใช้ฟังก์ชัน type ในเทอร์มินัลต่อไปนี้จะเห็น Python data types ต่าง ๆ:

ไฟล์ Python
ก่อนอื่นเปิดโฟลเดอร์โปรเจกต์ 30DaysOfPython ถ้ายังไม่มีให้สร้างโฟลเดอร์ชื่อ 30DaysOfPython จากนั้นสร้างไฟล์ชื่อ helloworld.py ภายในโฟลเดอร์นี้
Python Interactive Shell แสดงผลโดยไม่ต้องใช้ print แต่ใน Visual Studio Code หากต้องการเห็นผลลัพธ์ต้องใช้ฟังก์ชันพื้นฐาน print() ฟังก์ชัน print() รับ argument ได้ไม่จำกัดจำนวน: print('argument1', 'argument2', 'argument3')
ชื่อไฟล์คือ helloworld.py:
# Day 1 - 30DaysOfPython Challenge
print(2 + 3) # addition(+)
print(3 - 1) # subtraction(-)
print(2 * 3) # multiplication(*)
print(3 / 2) # division(/)
print(3 ** 2) # exponential(**)
print(3 % 2) # modulus(%)
print(3 // 2) # Floor division operator(//)
# Checking data types
print(type(10)) # Int
print(type(3.14)) # Float
print(type(1 + 3j)) # Complex number
print(type('Asabeneh')) # String
print(type([1, 2, 3])) # List
print(type({'name':'Asabeneh'})) # Dictionary
print(type({9.8, 3.14, 2.7})) # Set
print(type((9.8, 3.14, 2.7))) # Tupleในการรันไฟล์ Python ดูภาพด้านล่าง คุณรันได้โดยกดปุ่ม play สีเขียวใน Visual Studio Code หรือพิมพ์ python helloworld.py ในเทอร์มินัล:

🌕 คุณสุดยอดมาก คุณเพิ่งจบ challenge วันที่ 1 และกำลังมุ่งหน้าสู่ความยิ่งใหญ่ มาทำแบบฝึกหัดสำหรับสมองและกล้ามเนื้อกัน
แบบฝึกหัด — วันที่ 1
ระดับ 1
- เช็คเวอร์ชัน Python ที่คุณใช้อยู่
- เปิด Python Interactive Shell แล้วทำการดำเนินการต่อไปนี้ โดยใช้ตัวเลข 3 และ 4: บวก (+), ลบ (-), คูณ (*), หาเศษ (%), หาร (/), ยกกำลัง (**), หารทิ้งเศษ (//)
- เขียนสตริงต่อไปนี้ใน Python Interactive Shell: ชื่อของคุณ, นามสกุลของคุณ, ประเทศของคุณ, 'I am enjoying 30 days of python'
- เช็คชนิดข้อมูลต่อไปนี้: 10, 9.8, 3.14, 4 - 4j, ['Asabeneh', 'Python', 'Finland'], ชื่อของคุณ, นามสกุลของคุณ, ประเทศของคุณ
ระดับ 2
- สร้างโฟลเดอร์ day_1 ภายใน 30DaysOfPython สร้างไฟล์ Python ชื่อ helloworld.py แล้วทำแบบฝึกหัดข้อ 1, 2, 3 และ 4 ซ้ำในไฟล์นี้ จำไว้ว่าต้องใช้ print() เมื่อทำงานในไฟล์ Python จากนั้น navigate ไปที่โฟลเดอร์ที่บันทึกไฟล์ไว้แล้วรัน
ระดับ 3
- เขียนตัวอย่างสำหรับ Python data type แต่ละชนิด: Number (Integer, Float, Complex), String, Boolean, List, Tuple, Set, Dictionary
- คำนวณ Euclidean distance ระหว่างจุด (2, 3) และ (10, 8) — สูตร: √((x2-x1)² + (y2-y1)²)
🎉 ยินดีด้วย ! 🎉