top of page

สอนเขียนโค้ด Python ด้วย AI ฉบับคนเขียนโค้ดไม่เป็น (ระหว่างอัพเดต)

  • รูปภาพนักเขียน: Gasia
    Gasia
  • 19 ก.พ.
  • ยาว 3 นาที

อัปเดตเมื่อ 25 ก.พ.

ree

ผมเป็นหนึ่งคนที่เขียนโค้ดไม่เป็น มีความฝันอยากจะลองซักครั้ง แต่ด้วยเวลาและงานประจำทำให้ไม่ค่อยมีเวลาศึกษาจริงจัง(จริง ๆ ติดเกม) การเข้ามาของ AI เลยช่วยเติมเต็มความฝันตรงนี้ไปในระดับนึง

-------------------------------------------------------------------------------------------------------------

สารบัญ

-------------------------------------------------------------------------------------------------------------

การติดตั้งและศัพท์ควรรู้

1. Python Interpreter

  • ทำไมต้องติดตั้ง:

    Python Interpreter เป็นตัวแปลภาษา (interpreter) ที่ใช้รันโค้ด Python ของเรา โดยมันจะแปลคำสั่งในโค้ดให้คอมพิวเตอร์เข้าใจและประมวลผล

  • วิธีติดตั้ง:

    • ไปที่ python.org/downloads แล้วดาวน์โหลดเวอร์ชันล่าสุดที่เหมาะกับระบบปฏิบัติการของคุณ (Windows, macOS, Linux)

    • (บน Windows) ในขั้นตอนการติดตั้ง ให้เลือกตัวเลือก “Add Python to PATH” ด้วย เพื่อให้สามารถรัน Python จาก Command Line ได้ง่ายขึ้น

แนะนำ 3.10 ขึ้นไป โดยหากจะใช้ Stable diffusion ด้วยก็แนะนำ 3.10
แนะนำ 3.10 ขึ้นไป โดยหากจะใช้ Stable diffusion ด้วยก็แนะนำ 3.10

2. Integrated Development Environment (IDE) หรือ Code Editor

  • ทำไมต้องติดตั้ง:

    IDE หรือ Code Editor ช่วยให้การเขียนโค้ดเป็นระเบียบและง่ายขึ้น ด้วยฟีเจอร์อย่างเช่น:

    • การเน้นไวยากรณ์ (syntax highlighting)

    • การช่วยเติมคำ (auto-completion)

    • เครื่องมือดีบัก (debugging tools)

  • ตัวเลือกที่นิยม:

    • Visual Studio Code (VS Code): ฟรี รองรับหลายภาษา มีปลั๊กอินสำหรับ Python (ผมใช้ตัวนี้อยู่)

    • PyCharm: มีรุ่นฟรี (Community) และรุ่นจ่ายเงิน (Professional) ที่มีฟีเจอร์ครบครัน

    • Sublime Text: เบาและรวดเร็ว (มีรุ่นทดลองใช้ฟรี)

3. pip (Python Package Installer)

  • (ติดตั้งมาพร้อม python) pip เป็นเครื่องมือสำหรับจัดการไลบรารี (libraries) และแพคเกจ (packages) ที่เขียนโดยผู้อื่น ซึ่งช่วยให้เราสามารถนำฟังก์ชันหรือโมดูลที่คนอื่นเขียนมาใช้ในโปรเจกต์ของเราได้อย่างง่ายดาย

  • วิธีใช้งาน:

    เปิด cmd แล้วเริ่มคำสั่งด้วย pip install ตามด้วย library ที่ต้องการติดตั้ง เช่น

  • ตัวอย่างการติดตั้งไลบรารี:

pip install numpy

4. Virtual Environment (ทำใช้เองไม่ค่อยได้ใช้ ข้ามก็ได้)

  • ทำไมต้องใช้:

    Virtual Environment ช่วยให้คุณแยกการติดตั้งไลบรารีในแต่ละโปรเจกต์ออกจากกัน เพื่อลดปัญหาความเข้ากันไม่ได้ของเวอร์ชันของไลบรารีที่ใช้ในโปรเจกต์ต่าง ๆ อย่างเช่น โปรเจกต์ A ใช้เวอร์ชั้นนี้ โปรเจกต์ B ใช้อีกเวอร์ชั่นนึง

  • วิธีสร้าง Virtual Environment: สร้าง environment ใหม่ด้วยคำสั่ง

python -m venv myenv
  • เปิดใช้งาน environment บน PC

myenv\Scripts\activate
  • เปิดใช้งาน environment บน macOS/Linux

source myenv/bin/activate

5. คำศัพท์ควรรู้

  • Modeul (โมดูล) : คือไฟล์ที่เก็บโค้ด Python ซึ่งประกอบไปด้วยฟังก์ชัน, คลาส, ตัวแปร และคำสั่งต่าง ๆ ที่คุณสามารถนำมาใช้ซ้ำได้ในโปรแกรมอื่น ๆ โดยเราจะดึงโมเดลมาใช้ได้ด้วยคำสั่ง import ตามด้วยชื่อโมดูลนั้น เช่น เราต้องการนำเข้าโมดูล Pandas ซึ่งเป็นไลบรารีในภาษา Python ที่ออกแบบมาเพื่อให้การทำงานกับข้อมูลในรูปแบบตาราง (เช่น DataFrame) เป็นเรื่องง่ายและมีประสิทธิภาพ เราก็จะใช้คำสั่งว่า

import pandas
  • Function (ฟังก์ชัน) : กลุ่มของคำสั่งที่รวมกันเพื่อทำงานเฉพาะอย่างและสามารถเรียกใช้งานซ้ำได้ เช่น:

def greet(name):
    return "Hello, " + name

-------------------------------------------------------------------------------------------------------------

ตั้งโจทย์และคุยกับ AI

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

1. ตั้งโจทย์ที่จะทำ

  • เริ่มจากสิ่งง่าย ๆ เช่น โค้ด หรือ โปรแกรม ที่จะมาช่วยอำนวยความสะดวกเราจากงานซ้ำ ๆ ซาก ๆ

  • ตัวอย่าง : โปรแกรมโหลดคลิปยูทูป

2.ถาม AI ถึงความเป็นไปได้

  • หลายครั้งโจทย์ที่เราตั้งไปก็ยากเกินกว่าจะเกิดขึ้นจริง และมีข้อจำกัดมากมาย สิ่งสำคัญเลยก็คือ ลองถาม AI ดูก่อน โดย AI เขียนโค้ดที่ผมแนะนำที่ฟรีในตอนนี้ ก็ Qwen ai ของ Alibaba group เพราะตอบได้ยาว และเขียนโค้ดได้ดี แต่การใช้ AI หลายตัวก็ไม่ใช่เรื่องที่ผิด อย่าง chatgpt ถ้าสมัครตัวเสียตัง (GPT Plus) ไว้ก็เป็นอีกตัวที่ดี (ผมใช้โมเดล o3)

  • เริ่มจากตั้งคำถามตรง ๆ

ฉันต้องการโปรแกรมสำหรับดาวน์โหลดคลิปบนยูทูป สามารถทำได้ไหม
  • เพิ่มขอบเขตในคำถาม เพื่อผลลัพธ์ที่ดีกว่า เช่น ให้มันเป็นโปรแกรมมีหน้า UI สำหรับคลิกสะดวก ๆ

ฉันต้องการโปรแกรมสำหรับดาวน์โหลดคลิปบนยูทูป มีช่องให้วางลิงก์และมีหน้า UI ไว้คลิกดาวน์โหลด สามารถทำได้ไหม โดยไฟล์จะเซฟใน Video folder 
ree

-------------------------------------------------------------------------------------------------------------

ทดสอบโค้ด

เมื่อเราได้คำตอบพร้อมโค้ดจาก AI มาแล้ว ขั้นตอนต่อไปก็คือการทดสอบโค้ด โดยเราจะเริ่มต้นดังนี้

1. สร้างโฟลเดอร์ Text ไฟล์เปล่า

  • สร้างโฟลเดอร์ใหม่ขึ้นมาโดยการคลิกขวาที่คอม > New > Folder เราก็จะได้ Folder หรือแฟ้มเอกสารเปล่าขึ้นมา เพื่อความเป็นระเบียบ

  • ดับเบิลคลิกเข้าไปในโฟลเดอร์ของเรา ให้คลิกขวา แล้วเลือก New > Text document

  • ถ้าเป็น Windows 11 ให้คลิกเข้าไปที่ไฟล์ text เรา (ทำตามคลิปด้านล่างได้)

  • ถ้าเป็น Windows 10 คลิกที่ไฟล์แล้วกดคลิกขวา > rename > เติม .py ไว้ท้ายชื่อเพื่อเปลี่ยนสกุลไฟล์

โดย .py ย่อมาจากสกุล python นั่นเอง บ่งบอกว่าไฟล์นี้เป็นไฟล์ที่เขียนด้วยภาษา python


2. การติดตั้งไลบรารี

  • ก่อนเริ่มใช้งาน เราต้องติดตั้งไลบรารี pytube โดยใช้คำสั่งต่อไปนี้ใน Terminal หรือ Command

pip install pytube

ข้างบนนี้ คือ คำตอบของ AI โดยปกติแล้วเวลาเราสร้างโปรแกรมหรือแอพใหม่ ๆ ด้วย Python ก็มักจะมี Library ใหม่ ๆ ที่เรายังไม่ติดตั้ง จึงต้องทำการติดตั้งก่อน โดยไปที่ Search > พิมพ์ว่า cmd แล้ว Enter จากนั้นนำข้อความ pip install pytube หรือที่ AI บอก ไปวาง (Ctrl + V) แล้ว Enter


2. วางโค้ดใน .py ที่สร้างขึ้น

  • เปิดไฟล์ .py ที่เราพึ่งสร้างขึ้นมา

  • คัดลอกโค้ดไปวาง

ซ้ายคือ Notepad ขวาคือ VisualStudio
ซ้ายคือ Notepad ขวาคือ VisualStudio
  • กด ctrl + s เพื่อเซฟ

3. ทดสอบโค้ด

Notepad

  • ทำตามคลิปด้านล่างได้เลย โดยการพิมพ์ cmd บน path ของ folder ที่โค้ดเราอยู่ แล้วพิมพ์

python ชื่อโค้ดของเรา.py

แล้ว enter

Visual Studio Code

  • ดับเบิลคลิกที่ .py เพื่อเปิดโค้ด เเล้วกดที่มุมขวารูปไอคอน play เพื่อกดรัน (ในบางเคสจะต้องกด Trust สีฟ้า ๆ เพื่อยืนยันที่มาโค้ดว่าเชื่อถือได้ก่อน)

ree

-------------------------------------------------------------------------------------------------------------

แก้บัค

แน่นอนว่าการทำโค้ดด้วย AI มันมักจะไม่สมบูรณ์ในคลิกเดียว สิ่งที่ยากที่สุดก็คือการ แก้บัค หรือแก้ปัญหาที่เกิดขึ้นภายในโค้ดนี่แหละ โดยอาจจะเกิดจากโค้ดที่ไม่สมบูรณ์ หรือ ในกรณีโหลดคลิปจากยูทูปก็จะเป็นเรื่องการเชื่อมต่อกับเซิฟเวอร์ร์อาจปฏิเสธการเชื่อมต่อเนื่องจากข้อจำกัดด้านลิขสิทธิ์


เราจะทำการแก้ไขปัญหาเบื้องต้น ดังนี้

1. คัดลอกข้อความบัคที่เกิดขึ้นให้ AI ทราบ

โดยปกติหากบัคเกิดที่โค้ด เราก็คัดลอกข้อความ Error ไปให้ AI ช่วยแก้ง่าย ๆ

แต่กรณีผมมันขึ้นเป็น Popup หน้าต่างขึ้นมา เลยต้องแคปภาพ(หรือพิมพ์เองก็ได้ถ้าขยัน) ไปให้Chatgpt ช่วย (Qwen ai ไม่สามารถส่งภาพที่แคปให้มันดูได้ (ดูได้ในอีกโมเดลแต่เป็นโมเดลไม่ฉลาด))

ถ้าเป็น chatgpt ฟรี จะส่งได้ประมาณสามภาพก่อนติดโควต้าฟรีประจำวัน เพราะงั้นเน้นเอาที่สำคัญจริง ๆ นะ
ถ้าเป็น chatgpt ฟรี จะส่งได้ประมาณสามภาพก่อนติดโควต้าฟรีประจำวัน เพราะงั้นเน้นเอาที่สำคัญจริง ๆ นะ

2.อ่านผลลัพธ์และวิธีแก้ไขของ AI มาปรับใช้

🔧 วิธีแก้ไข

1. อัปเดต Pytube

pip install yt-dlp

จากนั้นลองรันโค้ดอีกครั้ง

2. ลองใช้ URL อื่น

  • ทดสอบกับวิดีโอที่ไม่มีข้อจำกัด เช่น วิดีโอสาธารณะบน YouTube

3. ใช้ไลบรารีอื่น เช่น yt-dlp

  • pytube อาจมีปัญหากับ YouTube ล่าสุด ลองเปลี่ยนไปใช้ yt-dlp แทน:

pip install yt-dlp
  • และใช้โค้ด (ที่ AI ให้ ไปวางทับ)

import os

import subprocess

from tkinter import *

from tkinter import messagebox


def download_video():

    video_url = url_entry.get()

    

    if not video_url:

        messagebox.showerror("ข้อผิดพลาด", "กรุณาป้อนลิงก์ YouTube")

        return

    

    try:

        if not os.path.exists("Video"):

            os.makedirs("Video")

        

        output_path = os.path.join("Video", "%(title)s.%(ext)s")

        cmd = f'yt-dlp -f best -o "{output_path}" "{video_url}"'

        subprocess.run(cmd, shell=True, check=True)

        

        messagebox.showinfo("สำเร็จ", "ดาวน์โหลดเสร็จสิ้น")

    except Exception as e:

        messagebox.showerror("ข้อผิดพลาด", f"เกิดข้อผิดพลาดขณะดาวน์โหลด: {str(e)}")


root = Tk()

root.title("YouTube Video Downloader")

root.geometry("500x200")

root.resizable(False, False)


Label(root, text="วางลิงก์ YouTube:", font=("Arial", 12)).pack(pady=10)

url_entry = Entry(root, width=50, font=("Arial", 12))

url_entry.pack()


download_button = Button(root, text="ดาวน์โหลด", font=("Arial", 12), command=download_video)

download_button.pack(pady=20)


root.mainloop()


จากนั้นทดสอบใหม่อีกครั้ง

ผลการทดสอบ : ดาวน์โหลดเสร็จสิ้น (แต่ไม่รู้ไฟล์ไปอยู่ไหน) เราจึงจะเข้าสู่ขั้นตอนถัดไป คือ การปรับแต่งโค้ดให้ตรงตามการใช้งานจริง

-------------------------------------------------------------------------------------------------------------

ปรับแต่งโค้ด

ต้องการให้โปรแกรมหรือผลลัพธ์จากโค้ดของเราตอบโจทย์มากขึ้น ดูสวยมากขึ้น อยากได้อะไรเราบอก AI ไปเลย แต่ระวังด้วยว่า หากยิ่งพัฒนาไปไกล โค้ดหลายบรรทัดมากขึ้น Chatgpt อาจจะไปลดทอนโค้ดเรา ตรงนี้ผมแนะนำ AI ตัวอื่น เช่น qwen

1. ระบุปัญหาและสิ่งที่ต้องการ

  • ปัญหาที่ผมเจอล่าสุด ไม่ใช่เรื่องโค้ดใช้งานไม่ได้แล้ว แต่เป็นการที่มันดาวน์โหลดไปเก็บไว้ในโฟลเดอร์ที่เราไม่รู้จัก ผมเลยต้องบอก AI ถึงปัญหาที่พบเจอแล้วให้มันปรับแก้ และให้มันช่วยปรับแต่ง UI ให้ดูสวยขึ้น โดยจะเปิดแชตใหม่ และคัดลอกโค้ด พร้อมระบุปัญหาให้มันรู้

ในโค้ดนี้ ปัญหาที่ฉันเจอคือมันดาวน์โหลดไปเก็บไว้ในโฟลเดอร์ที่เราไม่รู้จัก ช่วยปรับให้มันดาวน์โหลดไปเซฟไว้ในโฟลเดอร์ video ในโปรแกรมเดียวกับที่ฉันรันได้ไหม แล้วก็ปรับหน้า UI ให้มันสวยด้วย
ในโค้ดนี้ ปัญหาที่ฉันเจอคือมันดาวน์โหลดไปเก็บไว้ในโฟลเดอร์ที่เราไม่รู้จัก ช่วยปรับให้มันดาวน์โหลดไปเซฟไว้ในโฟลเดอร์ video ในโปรแกรมเดียวกับที่ฉันรันได้ไหม แล้วก็ปรับหน้า UI ให้มันสวยด้วย

มันแนะนำโค้ดที่ปรับแต่งมาให้ โดยมี Library ใหม่ คือ Tkinter ซึ่งตอนแรกผมได้คัดลอกโดยยังไม่ติดตั้ง จึงเกิด error ขึ้น

ทำการ pip install ttkthemes ในหน้าcmd (ดูได้ในพาร์ตทดสอบโค้ด)
ทำการ pip install ttkthemes ในหน้าcmd (ดูได้ในพาร์ตทดสอบโค้ด)
ถ้าใช้ visual studio code สามารถติดตั้ง libray ในช่อง terminal ได้เลย
  • จากนั้นแก้โค้ดวนไป เจอ error อะไรก็คัดลอกให้ AI ช่วย

  • แก้ไม่ได้ก็สลับไปให้ AI ตัวอื่นช่วย

  • ถ้ามันตอบไม่หมดก็บอกมันว่า เอาทั้งโค้ดมา


ปรับจูนไปเรื่อย ๆ จนได้ที่ตรงใจ

และดูว่า ผลลัพธ์หรือโค้ดของเรา ยังขาดอะไร เป็นการบ้าน

 
 
 
  • Facebook
  • YouTube
  • TikTok
bottom of page