สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ภาษาโปรแกรมมิ่ง · PRC-24

Python Advanced

หลักสูตร Python Advanced เป็นการอบรมต่อยอดจาก Python Basic สู่ความสามารถขั้นสูงของ Python 3.14 ทั้ง Magic Methods, Decorator, Thread และ asyncio, Socket, ส่งอีเมลผ่าน SMTP, SQLite, NumPy, Matplotlib, Regular Expressions และ pytest เหมาะกับนักพัฒนา นักศึกษา และนักไอทีที่เขียน Python พื้นฐานได้แล้ว

อัปเดตล่าสุด
ราคาเริ่มต้น 5,850 บาท / ท่าน 6,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

หลายคนเขียน Python พื้นฐานได้แล้วแต่ยังติดอยู่กับสคริปต์สั้น ๆ พอต้องสร้างโปรแกรมที่ทำงานพร้อมกันหลายงาน คุยผ่านเครือข่าย ส่งอีเมล เก็บข้อมูลลงฐานข้อมูล หรือดูแลโค้ดร่วมกับทีม ก็เริ่มไม่แน่ใจว่าควรเขียนแบบไหน อีกทั้ง Python เปลี่ยนไปมากในช่วงหลัง ทั้ง Type Hints แบบใหม่ Pattern Matching, asyncio ที่ใช้ง่ายขึ้น และ Free-threaded Python ที่รองรับอย่างเป็นทางการใน Python 3.14 ตัวอย่างเก่าบนอินเทอร์เน็ตจึงไม่ได้สะท้อนวิธีที่ควรเขียนในปัจจุบัน

หลักสูตรนี้ต่อยอดจาก Python Basic สู่ความสามารถขั้นสูงของภาษาด้วย Python 3.14 เริ่มจากวางโปรเจกต์ด้วย uv และ pyproject.toml ใช้ Type Hints, Magic Methods, Linked List, Comprehension, Generator, Pattern Matching, dataclass, Decorator และ Context Manager ต่อด้วยงานพร้อมกันด้วย Thread, asyncio และ Multiprocessing เขียนโปรแกรม Socket และห้องแชต ส่งอีเมลผ่าน SMTP ทำงานกับฐานข้อมูล SQLite คำนวณและสร้างกราฟด้วย NumPy 2 และ Matplotlib ใช้ Regular Expressions และเขียน Test ด้วย pytest เนื้อหาเน้น Workshop สลับบรรยาย และปิดท้ายด้วย Capstone ที่รวมทุกเรื่องเข้าด้วยกัน (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • วางโปรเจกต์ Python 3.14 ด้วย uv, pyproject.toml และ Type Hints ได้อย่างเป็นระบบ
  • ใช้ Magic Methods, dataclass, Decorator, Generator และ Context Manager สร้างคลาสและโค้ดที่ใช้ซ้ำได้
  • สร้างและจัดการ Linked List ด้วยคลาสของตนเอง
  • เลือกใช้ Thread, asyncio หรือ Multiprocessing ให้เหมาะกับงานและป้องกันการแย่งข้อมูล
  • เขียนโปรแกรม Socket ฝั่ง Server และ Client และส่งอีเมลผ่าน SMTP ได้
  • ทำงานกับฐานข้อมูล SQLite และสร้างกราฟด้วย NumPy 2 และ Matplotlib
  • ใช้ Regular Expressions ค้นหาและแยกข้อความ และเขียน Test ด้วย pytest

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนาและนักไอทีที่เขียน Python พื้นฐานได้และต้องการต่อยอดสู่ระดับสูง
  • ผู้ดูแลระบบที่ใช้ Python เขียนสคริปต์อัตโนมัติและต้องการโค้ดที่แข็งแรงขึ้น
  • นักเรียน นักศึกษา ครู อาจารย์ และวิทยากรที่สอนหรือใช้ Python
  • ผู้ที่ผ่านหลักสูตร Python Basic และต้องการเรียนต่อ

พื้นฐานของผู้เข้าอบรม

  • เขียน Python พื้นฐานได้ ทั้งตัวแปร เงื่อนไข ลูป ฟังก์ชัน List และ Dictionary
  • เข้าใจ Class และ Object เบื้องต้น และเคยใช้ Module หรือ Package
  • เคยทำงานกับฐานข้อมูลหรือใช้คำสั่ง SQL พื้นฐานมาบ้าง
  • ใช้คอมพิวเตอร์ อินเทอร์เน็ต และ Command Line เบื้องต้นได้
  • โน้ตบุ๊กที่ติดตั้ง Python 3.14 และ VS Code ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร Python Advanced รุ่นเดิม เนื้อหาเขียนใหม่สำหรับ Python 3.14 อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบ Workshop สลับบรรยาย ระดับ Intermediate ยังคงหัวข้อหลักเดิมทั้ง Linked List, Magic Methods, Thread, Socket, SMTP, SQLite, NumPy, Matplotlib และ Regular Expressions และเพิ่ม uv, Type Hints, Pattern Matching, dataclass, Decorator, asyncio, Free-threaded Python, Template Strings และ pytest ต่อยอดจากหลักสูตร Python Basic และเน้นความสามารถของภาษาในงานจริง ต่างจาก Python OOP ที่เน้นการออกแบบเชิงวัตถุโดยเฉพาะ

Day 1 เขียน Python ขั้นสูงแบบมืออาชีพ

Section 1: Lab: เตรียมโปรเจกต์ Python 3.14 แบบมืออาชีพ

  • ของใหม่ใน Python 3.14 ที่ควรรู้ และการเลือกรุ่นที่ใช้งาน
  • จัดการ Python, Virtual Environment และ Dependency ด้วย uv
  • โครงสร้างโปรเจกต์และไฟล์ pyproject.toml
  • ตรวจและจัดรูปแบบโค้ดอัตโนมัติด้วย Ruff
  • Lab: สร้างโปรเจกต์ตั้งต้นที่ใช้ต่อทั้งหลักสูตร

Section 2: Type Hints, Docstring และ Comment ที่ดี

  • Type Hints สำหรับตัวแปร ฟังก์ชัน และ Collection
  • Generic แบบใหม่ด้วยไวยากรณ์ [T] และ type alias
  • ตรวจชนิดข้อมูลด้วย Pyright หรือ mypy
  • เขียน Docstring และ Comment ที่ช่วยทีมแทนการอธิบายสิ่งที่โค้ดบอกอยู่แล้ว
  • Lab: เพิ่ม Type Hints และ Docstring ให้โค้ดเดิมแล้วแก้จุดที่ตรวจพบ

Section 3: Lab: Magic Methods

  • __init__, __repr__ และ __str__ ใช้ต่างกันอย่างไร
  • Magic Methods สำหรับตัวดำเนินการทางคณิตศาสตร์และ Unary
  • การเปรียบเทียบด้วย __eq__, __lt__ และ functools.total_ordering
  • ทำให้คลาสทำงานเหมือน Collection ด้วย __len__, __getitem__ และ __iter__
  • Lab: คลาส Money และ Vector ที่ใช้ตัวดำเนินการได้เหมือนชนิดข้อมูลในตัว

Section 4: Lab: Linked List ด้วยคลาสของตนเอง

  • Single และ Doubly Linked List ต่างกันอย่างไร
  • สร้าง Node และท่องรายการ (Traverse)
  • แทรก ต่อท้าย และลบข้อมูลในตำแหน่งต่าง ๆ
  • ใช้ Magic Methods ให้ Linked List วนลูปและหาความยาวได้
  • เปรียบเทียบกับ list และ collections.deque ว่าเมื่อไรควรใช้แบบใด

Section 5: Comprehension, Generator, dataclass และ Decorator

  • List, Dictionary และ Set Comprehension และ Generator Expression
  • Generator ด้วย yield สำหรับข้อมูลจำนวนมาก และ Pattern Matching ด้วย match
  • dataclass แบบ frozen และ slots
  • เขียน Decorator และ Context Manager ด้วย with และ contextlib
  • Lab: Decorator จับเวลาและ Context Manager จัดการทรัพยากร
Day 2 งานพร้อมกัน เครือข่าย อีเมล และฐานข้อมูล

Section 6: Lab: Thread และการป้องกันการแย่งข้อมูล

  • Process กับ Thread ต่างกันอย่างไร และ Main Thread
  • สร้าง Thread ด้วยฟังก์ชันและด้วยการสืบทอดคลาส Thread
  • Lock, Semaphore และ Queue สำหรับปัญหา Producer-Consumer
  • ThreadPoolExecutor สำหรับงานหลายชิ้นพร้อมกัน
  • GIL และ Free-threaded Python ที่รองรับอย่างเป็นทางการใน 3.14

Section 7: asyncio และ Multiprocessing

  • async และ await สำหรับงานที่รอเครือข่ายจำนวนมาก
  • TaskGroup และ asyncio.timeout สำหรับคุมงานหลายชิ้น
  • ProcessPoolExecutor และ InterpreterPoolExecutor สำหรับงานคำนวณหนัก
  • เลือก Thread, asyncio หรือ Process ให้เหมาะกับงาน
  • Lab: โปรแกรม Download Manager ดาวน์โหลดหลายไฟล์พร้อมกันด้วย httpx

Section 8: Lab: Socket Programming และห้องแชต

  • เครือข่าย TCP กับ UDP และ Socket คืออะไร
  • เขียน Socket ฝั่ง Server และ Client
  • รับส่งไฟล์ระหว่าง File Server และ File Client
  • Server ที่รับหลาย Client พร้อมกันด้วย Thread หรือ asyncio Streams
  • Lab: ห้องแชตแบบ GUI ด้วย Tkinter

Section 9: ส่งอีเมลด้วย SMTP

  • SMTP ทำงานอย่างไร และพอร์ตกับการเข้ารหัส STARTTLS และ SSL
  • สร้างข้อความด้วย EmailMessage และส่งด้วย smtplib
  • อีเมลรูปแบบ HTML และแนบไฟล์
  • เก็บรหัสผ่านใน Environment Variable และใช้รหัสผ่านสำหรับแอป
  • Lab: ส่งรายงานประจำวันพร้อมไฟล์แนบอัตโนมัติ

Section 10: Lab: ฐานข้อมูล SQLite ด้วย sqlite3

  • สร้างฐานข้อมูลและตาราง และตรวจข้อมูลด้วย DB Browser for SQLite
  • เพิ่ม แก้ไข ลบ และค้นหาด้วย Parameter เพื่อป้องกัน SQL Injection
  • WHERE, ORDER BY, LIMIT, DISTINCT, LIKE, GLOB, IN และ Aggregate Function
  • UNION, INTERSECT, ALTER TABLE และ Transaction ด้วย with
  • Lab: เก็บข้อมูลจากโปรแกรม Download Manager ลงฐานข้อมูล
Day 3 ข้อมูล ข้อความ การทดสอบ และ Capstone

Section 11: Lab: คำนวณด้วย NumPy 2

  • ndarray, dtype และการสร้าง Array แบบต่าง ๆ
  • การคำนวณแบบ Vectorized และ Broadcasting
  • Indexing, Slicing และการกรองข้อมูลด้วยเงื่อนไข
  • ฟังก์ชันสถิติและการสุ่มด้วย Generator ของ NumPy
  • Lab: วิเคราะห์ข้อมูลยอดขายจาก SQLite ด้วย NumPy

Section 12: Lab: สร้างกราฟด้วย Matplotlib

  • เลือกประเภทกราฟให้เหมาะกับข้อมูล
  • กราฟเส้น กราฟแท่ง กราฟวงกลม และ Histogram
  • ใส่ Title, Label, Legend, Marker และสี
  • หลายกราฟในภาพเดียวด้วย subplots และบันทึกเป็นไฟล์
  • Lab: Dashboard สรุปยอดขายจากข้อมูล NumPy

Section 13: Lab: Regular Expressions

  • รูปแบบพื้นฐาน: ตัวอักษรพิเศษ Character Class และ Quantifier
  • match, search, findall, finditer, sub และ split
  • Group, Named Group และ Flag
  • ตรวจรูปแบบอีเมล เบอร์โทร และรหัสต่าง ๆ
  • Lab: แยกข้อมูลสำคัญจากไฟล์ Log ของเซิร์ฟเวอร์

Section 14: Testing, Logging และ Template Strings

  • เขียน Test ด้วย pytest ทั้ง Fixture และ parametrize
  • บันทึก Log ด้วยโมดูล logging แทน print
  • Template Strings (t-string) ใหม่ใน Python 3.14 สำหรับสร้างข้อความอย่างปลอดภัย
  • รันโปรแกรมเป็นคำสั่ง Command Line ด้วย uv

Section 15: Workshop: Capstone ระบบสรุปรายงาน Log อัตโนมัติ

  • อ่านไฟล์ Log หลายไฟล์พร้อมกันและแยกข้อมูลด้วย Regular Expressions
  • บันทึกผลลง SQLite และสรุปตัวเลขด้วย NumPy
  • สร้างกราฟด้วย Matplotlib และส่งรายงานทางอีเมล
  • เขียน Test ให้ส่วนสำคัญและจัดโปรเจกต์ด้วย uv
  • นำเสนอผลงาน รีวิวโค้ดร่วมกัน และสรุปแนวทางต่อยอด

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Thread, asyncio และ Process ใน Python ต่างกันอย่างไร ควรเลือกแบบไหน

Process คือโปรแกรมที่รันอยู่และมีหน่วยความจำของตัวเอง ส่วน Thread คือเส้นทางการทำงานย่อยใน Process เดียวกันที่ใช้หน่วยความจำร่วมกัน จึงต้องกันการแย่งข้อมูลด้วย Lock หรือ Queue ส่วน asyncio ใช้ async และ await สลับงานใน Thread เดียวขณะรอเครือข่าย จึงเหมาะกับงานรอ I/O จำนวนมาก งานคำนวณหนักใน Python ทั่วไปมักแยกเป็นหลาย Process แต่ Python 3.14 รองรับ Free-threaded Build อย่างเป็นทางการ ซึ่งให้ Thread ใช้หลายคอร์ได้จริงเมื่อติดตั้งรุ่นนั้น

Magic method ใน Python คืออะไร ใช้ทำอะไร

Magic method หรือ dunder method คือเมธอดชื่อพิเศษที่ขึ้นต้นและลงท้ายด้วยขีดล่างสองตัว เช่น __init__, __repr__, __add__, __eq__ และ __len__ Python จะเรียกให้อัตโนมัติเมื่อใช้ตัวดำเนินการหรือฟังก์ชันในตัวกับออบเจ็กต์ เช่น a + b เรียก __add__ และ len(x) เรียก __len__ ทำให้คลาสที่เราสร้าง เช่น Linked List หรือคลาสจำนวนเงิน ใช้กับตัวดำเนินการ ลูป และฟังก์ชันในตัวได้เหมือนชนิดข้อมูลมาตรฐาน

ส่งอีเมลด้วย Python ผ่าน SMTP มีขั้นตอนอย่างไร

สร้างข้อความด้วย EmailMessage จากโมดูล email ใส่ผู้ส่ง ผู้รับ หัวเรื่อง และเนื้อหา ถ้าต้องการรูปแบบ HTML ใช้ add_alternative และแนบไฟล์ด้วย add_attachment จากนั้นเชื่อมต่อเซิร์ฟเวอร์ด้วย smtplib แล้วเรียก starttls() หรือใช้ SMTP_SSL ล็อกอินด้วยบัญชีหรือรหัสผ่านสำหรับแอป แล้วส่งด้วย send_message() ไม่ควรเขียนรหัสผ่านไว้ในโค้ด แต่เก็บใน Environment Variable แทน

หลักสูตร Python Advanced เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนา นักไอที ผู้ดูแลระบบ นักเรียนนักศึกษา ครู อาจารย์ และผู้ที่ผ่านหลักสูตร Python Basic ที่ต้องการต่อยอดสู่ความสามารถขั้นสูงของภาษา ควรเขียน Python พื้นฐานได้ทั้งตัวแปร เงื่อนไข ลูป ฟังก์ชัน List และ Dictionary เข้าใจ Class เบื้องต้น และเคยทำงานกับฐานข้อมูลหรือใช้คำสั่ง SQL มาบ้าง

เรียนจบหลักสูตร Python Advanced แล้วทำอะไรได้บ้าง

วางโปรเจกต์ด้วย uv และ Type Hints เขียนคลาสที่ใช้ Magic Methods และสร้าง Linked List ใช้ Decorator, Generator และ Context Manager เขียนงานพร้อมกันด้วย Thread และ asyncio เขียนโปรแกรม Socket รวมถึงห้องแชตแบบ GUI ส่งอีเมลผ่าน SMTP ทำงานกับฐานข้อมูล SQLite สร้างกราฟด้วย NumPy และ Matplotlib ใช้ Regular Expressions ค้นหาข้อความ และเขียน Test ด้วย pytest ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Python Advanced ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ใช้ข้อมูลหรือไฟล์ Log ที่ทีมต้องเขียน Python จัดการอยู่ หรือเน้นงานอัตโนมัติและการส่งรายงานของฝ่ายไอที ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

บทความที่เกี่ยวข้อง