
บทความนี้เป็นการสอน python สำหรับ level พื้นฐานสุดๆ โดยผมจะยังไม่ได้ลงรายละเอียดลึกมาก เน้นสนุกไว้ก่อน 😁 อยากให้ดูละทำตามไปด้วยจะดีมากเลย จะช่วยให้เข้าใจมากขึ้น
สมัยหัดเขียนแรกๆผมก็ใช้อันนี้แหละฝึกวิชา ด้วยคำแนะนำจาก ลุงวิศวกรสอนคำนวณ 🙏
Why Python
ตอนนี้เทรนภาษา python น่าจะเป็นภาษาอันดับ 1 แล้วเรียบร้อย จากการมาของ Data, AI
ใครที่อยากเรียนรู้การเขียนโปรแกรมเริ่มต้น แบบไม่รู้จะไปทางไหนเป็นพิเศษ ผมจะแนะนำไปทาง python เสมอ เพราะตัวภาษามันง่าย อ่านง่าย เขียนง่าย ทำให้เข้าใจ concept ได้เร็วเอาไปต่อยอดอย่างอื่นได้
สามารถเอาไปทำอะไรได้เยอะ เช่น AI, Machine Learning, Web, Data อื่นๆอีกเพียบ และ community python คนเยอะ ถามอะไรไป ก็มีคนตอบไว้ให้หมดแล้ว 55+
Library
หนึ่งในคำที่ได้ยินบ่อยมากๆใน programming เลยคือ library อธิบายสั้นๆคือมันเหมือนห้องสมุดที่เราไปยืมหนังสือ ใน programming ก็คือเราไปยืมโค้ดที่คนอื่นเคยเขียนไว้แล้ว ไม่ต้องเสียเวลาเขียนเอง ทำให้ประหยัดเวลาสร้างไปเยอะมากๆ
ส่วนตัวแล้วนี่คือหนึ่งในสิ่งที่ผมชอบมากๆในโลกของ programming เพราะเรายืมโค้ดกันเป็นว่าเล่นเลยเป็นเรื่องปกติ และส่วนใหญ่ก็ฟรีด้วย (open-source) ต้องขอบคุณกลุ่มคนที่ใช้เวลาพัฒนาอะไรยากๆมาให้เราใช้ต่อง่ายๆ
Turtle

Turtle ก็เป็นก็ library นึงในภาษา python ที่ดังมากในการเอามาสอนเด็ก หรือ คนที่เพิ่งฝึกเขียนโปรแกรม
เพราะมันทำให้เราจำลองการสร้างและควบคุมคอมพิวเตอร์แบบเห็นภาพ เวลาเขียนจะสนุกมากกว่าเรียนพวก print(“Hello World”) เหมาะกับการเริ่มเรียน python สุดๆ
Trick: ระหว่างตอนทำ ลองเปลี่ยนตัวเลขเปลี่ยนตัวแปรของตัวอย่าง ลองเล่นของตัวเองดูจะทำให้เราเห็นภาพละเข้าใจมากขึ้นเยอะเลย
Sandbox
สำหรับมือใหม่แนะนำให้เล่นในเว็ป https://pythonsandbox.com/turtle กันเพราะไม่ต้องลงโปรแกรมอะไรเลย run code ผ่าน browser ชิวๆ
ส่วนคนที่มี python หรือ IDE ในคอมก็ตามสะดวกเลยครับ
4 concepts in programming
เราจะมาเริ่มจาก 4 หัวข้อใหญ่ๆใน programming โดยใช้เต่าจำลองทั้ง 4 อัน
- for loop
- function
- variable
- if-else statement
เริ่มต้นจากการสร้างเต่า ที่เราเอาไว้วาดรูปก่อน
import turtleคือ เอา library turtle มาใช้t = turtle.Turtle()คือการสร้างตัวแปรเต่า และ กระดานขึ้นมาt.shape(“turtle”) ทำให้ลูกศรกลายเป็นเต่าเท่ๆ
import turtle
t = turtle.Turtle()
t.shape("turtle")
คำสั่งพื้นฐาน เอาไว้คุมเต่าเดิน
forward()รับ parameter เป็น ระยะทางbackward()รับ parameter เป็น ระยะทางright()รับ parameter เป็น มุมleft()รับ parameter เป็น มุม

ลองสั่งให้เต่าเดินหน้าเล่นดูกับ forward ตามด้วยระยะทางที่อยากให้มันเดินไปข้างหน้า forward(100)
Square

Triangle

Variable
การสร้างตัวแปรเป็นพื้นฐานที่สุดใน programming
จากเราใส่ 100 ตรงๆก็เปลี่ยนมาเป็น medium_distance
t.forward(100)
medium_distance = 100 # สร้างตัวแปร type int
t.forward(medium_distance) # ใช้งาน
สามารถเอาไปใช้ต่อได้ และ ดูอ่านง่ายขึ้นมาทันที
Variable Type
type แต่ละชนิดจะไม่เหมือนกันและมีรายละเอียดในตัวมันเองค่อนข้างเยอะ อาจจะไม่ได้ลงลึกในบทความนี้นะครับ
| Type | Usage |
|---|---|
| int | ten = 10 |
| string | name = “foo” |
| boolean | is_raining = false |
| list | numbers = [1, 2, 3, 4] |
| tuple | coordinates = (10, 20) |
| set | unique_numbers = {1, 2, 3} |
| dictionary | person = {“name”: “john”} |
For-loop
concept ของ forloop คือการสั่งให้ computer ทำอะไรซ้ำๆหลายๆที ส่วนใหญ่จะใช้คู่กับ list, tuple, set, dictionary
สังเกตุอะไรมั้ยว่า โค้ดที่เขียนยาวๆมันมีอะไรซ้ำๆกันเต็มเลย
จริงๆแล้วมันคือการใช้ 2 บรรทัดนี้ซ้ำกัน 3 รอบ
t.forward(100)
t.lett(90)
for loop เลยเกิดมาเพื่อสิ่งนี้ เอาไปทำคำสั่งข้างในไปเรื่อยๆจนกว่าจะถึงจำนวนที่เราตั้งไว้
ในภาษา python จะเขียนแบบนี้ for i in range():
- i คือเลขที่เปลี่ยนไปเรื่อยๆ เริ่มตั้งแต่ 0 จนถึง เช่นเราตั้งไว้ range(4)
- ค่าของ i จะเป็น 0, 1, 2, 3 (ใน programming การ loop จะเริ่มต้นจาก 0 เสมอจนกว่าเราจะไปเปลี่ยน)
- range คือจำนวนรอบทั้งหมด range(4) ก็คือทำซ้ำ 4 รอบ
จาก code ข้างบนที่พิมซ้ำๆกัน จะลดเหลือแค่นี้เอง
for i in range(4):
t.forward(100)
t.left(90)
Triangle
Star

หรือมาลองวาดรูปดาวกัน ยิ่งงานที่ต้องใช้อะไรซ้ำๆเยอะๆ forloop จะมีประโยชน์มากๆ เช่นถ้าเราจะวาดรูปดาว 200 แฉกจะให้เขียนเองเป็น 100 บรรทัดไม่ดีแน่ 55
Practice
ถ้าทำเองได้แล้ว ลองวาดรูปอื่นๆดู เพื่อความเข้าใจ จะใช้หรือไม่ใช้ for loop ก็ได้
- สามเหลี่ยม
- สี่เหลี่ยมคางหมู
- หกเหลี่ยม
Function
จำง่ายๆ concept ของฟังชั่น คือที่เก็บโค้ด แล้วเอาไปใช้ต่อ
Parameters
function สามารถรับตัวแปรเข้ามาใช้ได้ เรียกว่า parameter ทำให้เราไม่ต้องใส่ค่าตรงๆ
จาก t.forward(100) ก็เปลี่ยนมาใช้ t.forward(parameter) ได้เลย
ซึ่ง function จะมี parameter กี่ตัวก็ได้หรือไม่มีเลยก็ได้ แต่สำคัญก็คือ type ที่ตั้งไว้กับ type ที่ส่งเข้ามาต้องตรงกัน
ในภาษา python ฟังชั่นจะใช้คำว่า def นำหน้า ตามด้วยชื่อ function กับ parameter และอย่าลืม colondef function_name(params):
วิธีเรียกใช้
- ใช้ชื่อ function
- วงเล็บ
- ตามด้วย parameter ได้เลย ถ้ามี
💡 Trick
- จำว่า function คือการสร้างเก็บไว้ เพื่อรอเอาไปใช้
- ภาษา python ส่วนใหญ่จะตั้งชื่อ function เป็น snake_case
จาก code วาดสี่เหลี่ยมข้างบน เราลองเอาโค้ดเก่ามาใส่ไว้ใน function แล้ววาดกัน
Square
If-else Statement
concept if-else คือการสั่งให้ computer ทำบางอย่าง ถ้าตรงกับเงื่อนไขที่เราตั้งไว้
- condition จะต้องเป็น type boolean เสมอ (true, false)
- มักใช้กับ operator เช่น 1 == 1 เป็นการเช็คว่าค่าเท่ากันมั้ยใน type เดียวกัน ถ้าใช่จะได้ true ถ้าไม่จะได้ false
event = "arrive"
if event == "arrive": # จะได้ true จึง print Hello
print("Hello")
else:
print("Good Bye")
ลองมาดูตัวอย่างในนี้กัน ผมได้เพิ่ม library random เข้ามาเพื่อความสนุกมากขึ้น เอามาสุ่มว่าตัวแปรจะได้อะไร เหมาะกับการทำความเข้าใจ if else มากเพราะ if else จะเป็นตัวกรองให้เราทำตามที่ต้องการ ตามเงื่อนไขที่เราตั้งไว้อยู่แล้ว
งานนี้จะ random มายังไง ก็วาดให้ได้แน่นอน (เพราะมีอยู่แค่ 4 รูป 55)
Random shape
Final

สุดท้ายแล้วลองเอาทุกอย่าง variable, for loop, function, if-else มาใช้รวมกัน
สิ่งที่เพิ่มเข้าไป
- ย้าย random game เข้าไปใน function
- เพิ่มเปลี่ยน ลูกศร ทุกครั้งที่วาดเส้นใหม่
- import time ให้มีดีเลย์ตอนเล่นเสร็จ
- reset() รีเซทกลับไปจุดเริ่มต้น
😇 ถ้าทำได้แล้วลองลบโค้ดตัวเองทั้งหมดแล้วลอง ฝึกทำใหม่ด้วยตัวเองนะ
สรุปสิ่งที่เรียนไป
พื้นฐาน programming
- for loop ลูป
- function ฟังชั่น
- variable ตัวแปร
- if-else statement
พื้นฐานการใช้งานเต่า
- การ import library เต่า
forward()เดินหน้าbackward()ถอยหลังright(),left()เลี้ยวซ้าย ขวาfillcolor(),begin_fill(),end_fillระบายสี
จบแล้วครับ สนุกรึเปล่าไม่รู้แต่คนสอนสนุกมากก 😂 ใครอยากสนใจเล่นต่อไปอ่านได้ที่ document ของ python turtle ได้เลย
สู้ๆนะครับสำหรับคนที่เพิ่งเริ่มต้น สำหรับ python เป็นภาษาที่ทรงพลังและมีอะไรให้เราเล่นอีกเยอะมากไว้วันหลังบีมจะพาไปรู้จักกับภาษานี้ให้มากขึ้นนะครับ


Leave a Reply