Skip to content
numvarnPublic

About

เอกสารประกอบการสอนในรายวิชา OOP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 การเขียนโปรแกรมด้วยภาษาไพธอน 3 (Python 3 Programming)

Python Version Jupyter Notebook Course Material

ผู้สอน: ผศ.พิศาล สุขขี
สังกัด: สาขาวิชาวิทยาการคอมพิวเตอร์ คณะศิลปศาสตร์และวิทยาศาสตร์ มหาวิทยาลัยราชภัฏศรีสะเกษ

เอกสารประกอบการสอนชุดนี้ออกแบบในรูปแบบ Interactive Jupyter Notebook (.ipynb) เพื่อให้ผู้เรียนสามารถศึกษาเนื้อหาทฤษฎี ทดลองรันโค้ดตัวอย่าง ทำแบบฝึกหัดระหว่างเรียน (🧠 ตรวจสอบความเข้าใจ / ✍️ ลงมือทำ) และทำแบบประเมินความรู้หลังเรียน (Post-test) พร้อมระบบตรวจคำตอบอัตโนมัติได้ในที่เดียว


🧭 ภาพรวมโครงสร้างเนื้อหารายวิชา

เนื้อหาแบ่งออกเป็น 4 ส่วนหลัก ครอบคลุมตั้งแต่พื้นฐานคอมพิวเตอร์และขั้นตอนวิธี ไปจนถึงการเขียนโปรแกรมเชิงวัตถุ (OOP) รวมทั้งสิ้น 12 บทเรียน และ 9 ชุดแบบฝึกหัดพร้อมเฉลยแยกโฟลเดอร์:

หมวดหมู่ บทเรียน เนื้อหาหลัก แบบฝึกหัด / เฉลยแยกไฟล์
ส่วนที่ 1: ปูพื้นฐานก่อนเขียนโปรแกรม บทที่ 1 – บทที่ 3 คอมพิวเตอร์เบื้องต้น, การคิดเชิงขั้นตอนวิธีและผังงาน, แนะนำไพธอนและเครื่องมือ (Anaconda, PyCharm, Jupyter) แบบฝึกหัดท้ายบทในไฟล์บทเรียน
ส่วนที่ 2: พื้นฐานภาษาไพธอนและโครงสร้างควบคุม บทที่ 4 – บทที่ 7 ไวยากรณ์และการรับ-แสดงผล, ตัวแปรและชนิดข้อมูลพื้นฐาน/เชิงประกอบ, นิพจน์และตัวดำเนินการ, โครงสร้างควบคุม (if, for, while) ✅ มีชุดแบบฝึกหัดและเฉลยแยกไฟล์ (บทที่ 4–7)
ส่วนที่ 3: การจัดการโปรแกรมและอาร์เรย์คำนวณ บทที่ 8 – บทที่ 9 การสร้างและออกแบบฟังก์ชัน, การคำนวณทางวิทยาศาสตร์และอาร์เรย์หลายมิติด้วย NumPy ✅ มีชุดแบบฝึกหัดและเฉลยแยกไฟล์ (บทที่ 8–9)
ส่วนที่ 4: การประยุกต์ใช้งานและการเขียนโปรแกรมเชิงวัตถุ บทที่ 10 – บทที่ 12 การจัดการแฟ้มข้อมูลและ CSV, การจัดการสิ่งผิดปรกติ (try-except), การเขียนโปรแกรมเชิงวัตถุ (Class & OOP) ✅ มีชุดแบบฝึกหัดและเฉลยแยกไฟล์ (บทที่ 10–12)

🗂️ ตารางดัชนีไฟล์ทั้งหมด (Quick Navigation)

ตารางลิงก์สำหรับคลิกเปิดไฟล์บทเรียนทั้ง 12 บท คู่กับไฟล์แบบฝึกหัดหลังเรียนในโฟลเดอร์ แบบฝึกหัด/ และไฟล์เฉลยในโฟลเดอร์ เฉลยแบบฝึกหัด/:

บทที่ ไฟล์บทเรียนหลัก (Notebook) แบบฝึกหัดหลังเรียน (Post-test) เฉลยแบบฝึกหัด
01 📘 บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และการเขียนโปรแกรม (อยู่ในหัวข้อ 1.6 ท้ายบท) (อยู่ในไฟล์บทเรียน)
02 📘 บทที่ 2 การแก้ปัญหาและขั้นตอนวิธี (อยู่ในหัวข้อ 2.7 ท้ายบท) (อยู่ในไฟล์บทเรียน)
03 📘 บทที่ 3 แนะนำภาษาไพธอน (อยู่ในหัวข้อ 3.6 ท้ายบท) (อยู่ในไฟล์บทเรียน)
04 📘 บทที่ 4 พื้นฐานโปรแกรมภาษาไพธอน 📝 แบบฝึกหัดบทที่ 4 ✅ เฉลยบทที่ 4
05 📘 บทที่ 5 ตัวแปร การกำหนดค่า และชนิดข้อมูล 📝 แบบฝึกหัดบทที่ 5 ✅ เฉลยบทที่ 5
06 📘 บทที่ 6 นิพจน์และตัวดำเนินการ 📝 แบบฝึกหัดบทที่ 6 ✅ เฉลยบทที่ 6
07 📘 บทที่ 7 โครงสร้างการควบคุม 📝 แบบฝึกหัดบทที่ 7 ✅ เฉลยบทที่ 7
08 📘 บทที่ 8 ฟังก์ชัน 📝 แบบฝึกหัดบทที่ 8 ✅ เฉลยบทที่ 8
09 📘 บทที่ 9 NumPy 📝 แบบฝึกหัดบทที่ 9 ✅ เฉลยบทที่ 9
10 📘 บทที่ 10 การจัดการแฟ้มข้อมูล 📝 แบบฝึกหัดบทที่ 10 ✅ เฉลยบทที่ 10
11 📘 บทที่ 11 การจัดการสิ่งผิดปรกติ 📝 แบบฝึกหัดบทที่ 11 ✅ เฉลยบทที่ 11
12 📘 บทที่ 12 คลาส 📝 แบบฝึกหัดบทที่ 12 ✅ เฉลยบทที่ 12

📖 รายละเอียดเนื้อหารายบท (Chapter-by-Chapter Breakdown)

🔹 ส่วนที่ 1: ปูพื้นฐานก่อนเขียนโปรแกรม (บทที่ 1 – 3)

  • ไฟล์บทเรียน: บทที่01_ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และการเขียนโปรแกรม.ipynb
  • หัวข้อสำคัญ:
    • 1.1 ความสำคัญของคอมพิวเตอร์ — บทบาทของคอมพิวเตอร์ในชีวิตประจำวันและงานด้านต่าง ๆ
    • 1.2 ฮาร์ดแวร์และซอฟต์แวร์
      • 1.2.1 ฮาร์ดแวร์ (Hardware): CPU, หน่วยความจำหลัก (RAM), หน่วยความจำสำรอง, อุปกรณ์อินพุต, อุปกรณ์เอาต์พุต
      • 1.2.2 ซอฟต์แวร์ (Software): ซอฟต์แวร์ระบบ (System Software) และซอฟต์แวร์ประยุกต์ (Application Software)
    • 1.3 วิธีเก็บข้อมูลของคอมพิวเตอร์
      • 1.3.1 การจัดเก็บข้อมูลประเภทตัวเลข (บิต, ไบต์, เลขฐานสอง) · 1.3.2 ข้อมูลประเภทอักขระ (ASCII, Unicode) · 1.3.3 ข้อมูลตัวเลขขั้นสูง (จำนวนลบและทศนิยม) · 1.3.4 ข้อมูลประเภทภาพและเสียง
    • 1.4 วิธีการทำงานของโปรแกรม — วงจร Fetch–Decode–Execute, ภาษาเครื่อง, ภาษาแอสเซมบลี, ภาษาระดับสูง, คอมไพเลอร์ (Compiler) และอินเตอร์พรีเตอร์ (Interpreter)
    • 1.5 สรุป · 1.6 คำถามท้ายบท · 1.7 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่02_การแก้ปัญหาและขั้นตอนวิธี.ipynb
  • หัวข้อสำคัญ:
    • 2.1 การแก้ปัญหาด้วยคอมพิวเตอร์ — แนวคิดและลำดับขั้นการแก้ปัญหา
    • 2.2 การระบุข้อมูลเข้า ข้อมูลออก และเงื่อนไขของปัญหา
      • 2.2.1 ปัญหาการหาตัวหารร่วมมาก (ห.ร.ม.) · 2.2.2 ปัญหาคะแนนสอบ · 2.2.3 การแบ่งกลุ่มทำงาน
    • 2.3 การออกแบบขั้นตอนวิธี (Algorithm) — รหัสลำลอง (Pseudocode) และลักษณะของขั้นตอนวิธีที่ดี
    • 2.4 การเขียนผังงาน (Flowchart)
      • 2.4.1 หลักการทำงานของผังงาน · 2.4.2 ประโยชน์ของผังงาน · 2.4.3 สัญลักษณ์ของผังงาน · 2.4.4 รูปแบบการเขียนผังงาน (ลำดับ, เลือกทำ, วนซ้ำ)
    • 2.5 ตัวอย่างการแก้ปัญหาและออกแบบขั้นตอนวิธี
      • 2.5.1 ระบบรดน้ำต้นไม้อัตโนมัติ · 2.5.2 การหาค่าสูงสุดจากชุดข้อมูลตัวเลข
    • 2.6 สรุป · 2.7 คำถามท้ายบท · 2.8 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่03_แนะนำภาษาไพธอน.ipynb
  • หัวข้อสำคัญ:
    • 3.1 ประวัติความเป็นมาและจุดเด่นของภาษาไพธอน
      • 3.1.1 ประวัติของภาษาไพธอน · 3.1.2 ลักษณะเด่นของภาษาไพธอน
    • 3.2 การติดตั้งโปรแกรมอนาคอนดา (Anaconda)
      • 3.2.1 รู้จัก Anaconda · 3.2.2 การติดตั้งบนระบบปฏิบัติการ Windows · 3.2.3 ทดสอบการใช้งานผ่าน Python Shell
    • 3.3 โปรแกรม PyCharm
      • 3.3.1 การติดตั้งโปรแกรม PyCharm · 3.3.2 ทดสอบการสร้างโปรเจกต์และรันโปรแกรม
    • 3.4 การใช้งาน Jupyter Notebook
      • 3.4.1 หน้าจอการทำงานของ Jupyter Notebook · 3.4.2 การใช้งานเซลล์โค้ดและ Markdown · 🔬 ทัวร์ Jupyter ภาคปฏิบัติ · การเปรียบเทียบวิธีรันโปรแกรมไพธอน
    • 3.5 สรุป · 3.6 คำถามท้ายบท · 3.7 บรรณานุกรม

🔹 ส่วนที่ 2: พื้นฐานภาษาไพธอนและโครงสร้างควบคุม (บทที่ 4 – 7)

  • ไฟล์บทเรียน: บทที่04_พื้นฐานโปรแกรมภาษาไพธอน.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 4.1 ไวยากรณ์ของภาษาไพธอน (Syntax & Semantics)
      • 4.1.1 ไอเด็นติฟายเออร์ (Identifiers) · 4.1.2 คำสงวน (Reserved Words) · 4.1.3 บรรทัดและการเยื้องหน้า (Indentation) · 4.1.4 การแสดงคำสั่งหลายบรรทัด
      • 4.1.5 การใช้เครื่องหมายคำพูด (Quotation) · 4.1.6 คำอธิบายโปรแกรม (Comment) · 4.1.7 บรรทัดว่าง · 4.1.8 หลายคำสั่งในบรรทัดเดียว
    • 4.2 การรับข้อมูลเข้าและการแสดงผล
      • 4.2.1 การรับข้อมูลจากแป้นพิมพ์ด้วย input() · 4.2.2 การแสดงผลด้วย print(), เมธอด format(), และ 🆕 f-string
    • 4.3 การรันโปรแกรมภาษาไพธอน — ตัวแปลภาษาไพธอน, โหมดโต้ตอบ (Interactive Mode), และโหมดสคริปต์ (Script Mode)
    • 4.4 แนวทางการพัฒนาโปรแกรมด้วยภาษาไพธอน — The Zen of Python (import this)
    • 4.5 สรุป · 4.6 คำถามท้ายบท · 4.7 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่05_ตัวแปร_การกำหนดค่า_และชนิดข้อมูล.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 5.1 ความหมายของตัวแปร — การอ้างอิงวัตถุในหน่วยความจำและ Dynamic Typing
    • 5.2 การตั้งชื่อตัวแปร — หลักการตั้งชื่อ (Naming Rules & Conventions) และคำสงวนในภาษาไพธอน
    • 5.3 การประกาศและกำหนดค่าตัวแปร — การกำหนดค่าเดี่ยวและกำหนดค่าหลายตัวแปรพร้อมกัน (Multiple Assignment)
    • 5.4 ชนิดข้อมูลพื้นฐาน (Primitive Data Types)
      • 5.4.1 ตัวเลข (int, float, complex) · 🆕 บูลีน (bool) และ None · 5.4.2 สตริง (str), การเข้าถึงด้วยดัชนี และการตัดช่วง (Slicing)
    • 5.5 ข้อมูลเชิงประกอบ (Compound Data Types)
      • 5.5.1 ลิสต์ (list) · 5.5.2 ทูเพิล (tuple) · 5.5.3 ดิกชันนารี (dict) · 5.5.4 เซต (set) · 📊 ตารางเปรียบเทียบคุณลักษณะ
    • 5.6 สรุป · 5.7 คำถามท้ายบท · 5.8 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่06_นิพจน์และตัวดำเนินการ.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 6.1 นิพจน์ (Expressions) — ความหมายของนิพจน์, นิพจน์เลขคณิต, และนิพจน์ทางตรรกะ
    • 6.2 ตัวดำเนินการ (Operators)
      • 6.2.1 ตัวดำเนินการกำหนดค่า (=, +=, -=, ...) · 6.2.2 ตัวดำเนินการทางคณิตศาสตร์ (+, -, *, /, //, %, **)
      • 6.2.3 ตัวดำเนินการสัมพันธ์ (==, !=, <, >, <=, >=) · 6.2.4 ตัวดำเนินการตรรกะ (and, or, not)
      • 6.2.5 ตัวดำเนินการสมาชิก (in, not in) · 6.2.6 ตัวดำเนินการเอกลักษณ์ (is, is not) · 6.2.7 ตัวดำเนินการระดับบิต (Bitwise Operators)
    • 6.3 ลำดับการดำเนินการ (Operator Precedence) — กฎลำดับความสำคัญและการใส่วงเล็บ
    • 6.4 สรุป · 6.5 คำถามท้ายบท · 6.6 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่07_โครงสร้างการควบคุม.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 7.1 โครงสร้างควบคุมแบบเลือกทำ (Selection Statements)
      • 7.1.1 คำสั่ง if · 7.1.2 คำสั่ง if…else… · 7.1.3 คำสั่ง if…elif…else · 7.1.4 คำสั่ง Nested if · 🆕 ค่าความจริง (Truthiness) และนิพจน์เงื่อนไขแบบย่อ (Ternary)
    • 7.2 โครงสร้างควบคุมแบบวนซ้ำ (Repetition / Loop Statements)
      • 7.2.1 คำสั่ง for และฟังก์ชัน range() · 7.2.2 คำสั่ง while · 7.2.3 ลูปซ้อน (Nested Loop) · 7.2.4 ลูปไม่สิ้นสุด (Infinite Loop)
      • 7.2.5 คำสั่งควบคุมการวนซ้ำ (break, continue, pass) · 7.2.6 ตัวอย่างการคำนวณด้วยการวนซ้ำ
    • 7.3 สรุป · 7.4 คำถามท้ายบท · 7.5 บรรณานุกรม

🔹 ส่วนที่ 3: การจัดการโปรแกรมและอาร์เรย์คำนวณ (บทที่ 8 – 9)

  • ไฟล์บทเรียน: บทที่08_ฟังก์ชัน.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 8.1 พื้นฐานของฟังก์ชัน — ความหมาย ประโยชน์ และการนิยามฟังก์ชันด้วย def
    • 8.2 การใช้งานฟังก์ชัน — 8.2.1 การเรียกฟังก์ชัน · 8.2.2 Docstring · 8.2.3 การคืนค่าด้วยคำสั่ง return
    • 8.3 ขอบเขตและเวลาชีวิตของตัวแปร (Scope & Lifetime) — Local variable, Global variable, และคำสั่ง global
    • 8.4 การส่งผ่านอาร์กิวเมนต์ — 8.4.1 การส่งผ่านตามค่า (Pass by Value / Immutable) · 8.4.2 การส่งผ่านตามการอ้างอิง (Pass by Reference / Mutable)
    • 8.5 ประเภทของอาร์กิวเมนต์ — 8.5.1 Required · 8.5.2 Keyword · 8.5.3 Default · 8.5.4 Variable-length (*args, **kwargs)
    • 8.6 ฟังก์ชันแบบเวียนเกิด (Recursive Function) — 8.6.1 การหาค่าแฟกทอเรียล · 8.6.2 จำนวนฟีโบนัชชี
    • 8.7 การออกแบบโปรแกรมโดยใช้ฟังก์ชัน — กรณีศึกษาการจำลองระบบตู้ ATM
    • 8.8 สรุป · 8.9 คำถามท้ายบท · 8.10 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่09_NumPy.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 9.1 แนะนำ NumPy — ประวัติ ความสำคัญ และการนำเข้าโมดูล import numpy as np
    • 9.2 ความแตกต่างระหว่าง NumPy Arrays และลิสต์ — ประสิทธิภาพหน่วยความจำและความเร็วในการคำนวณ
    • 9.3 NumPy ndarray — โครงสร้าง ndarray, คุณสมบัติ (ndim, shape, size, dtype), และการสร้างอาร์เรย์ (array, zeros, ones, arange, linspace, random)
    • 9.4 การคำนวณทางคณิตศาสตร์กับ NumPy Arrays — Vectorization และ 🆕 Broadcasting
    • 9.5 การเข้าถึงข้อมูลสมาชิกในอาร์เรย์ (Indexing) — อาร์เรย์ 1 มิติ, 2 มิติ และหลายมิติ
    • 9.6 การหั่นช่วงอาร์เรย์ (Slicing) — การตัดช่วงข้อมูล และ 🆕 การเลือกข้อมูลด้วยเงื่อนไข (Boolean Indexing)
    • 9.7 การปรับรูปร่างอาร์เรย์ (Reshape) — reshape(), flatten(), ravel(), และการสลับแกน (Transpose)
    • 9.8 การต่อและการแยกอาร์เรย์ — 9.8.1 Concatenation (concatenate, vstack, hstack) · 9.8.2 Splitting (split, vsplit, hsplit)
    • 9.9 Universal Functions (UFuncs) — ฟังก์ชันคำนวณระดับสมาชิกบนอาร์เรย์
    • 9.10 ค่าต่ำสุด ค่าสูงสุด และการสรุปค่าข้อมูลเชิงสถิติ — sum, min, max, mean, std, และการระบุแกน axis
    • 9.11 การจัดเรียงข้อมูลภายในอาร์เรย์ (Sorting) — np.sort(), การเรียงตามแถวหรือคอลัมน์
    • 9.12 สรุป · 9.13 คำถามท้ายบท · 9.14 บรรณานุกรม

🔹 ส่วนที่ 4: การประยุกต์ใช้งานและการเขียนโปรแกรมเชิงวัตถุ (บทที่ 10 – 12)

  • ไฟล์บทเรียน: บทที่10_การจัดการแฟ้มข้อมูล.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 10.1 พื้นฐานเกี่ยวกับไฟล์ — 🆕 ไฟล์ข้อความ (Text File) กับไฟล์ไบนารี (Binary File), พาธสัมบูรณ์และพาธสัมพัทธ์
    • 10.2 การเปิดไฟล์ — 10.2.1 คำสั่ง open() · 10.2.2 โหมดอาร์กิวเมนต์ (r, w, a, x, b, +) · 🆕 การกำหนด encoding="utf-8"
    • 10.3 ไฟล์ออบเจกต์ (File Object) — 10.3.1 การอ่านและเขียนไฟล์ (read, write, close) · 🆕 ตัวชี้ตำแหน่ง (seek, tell) · 10.3.2 คำสั่ง with (Context Manager)
    • 10.4 การอ่านและเขียนไฟล์ทีละบรรทัด — readline(), readlines(), writelines(), และการวนลูปอ่านไฟล์
    • 10.5 พาธและไดเรกทอรี — โมดูล os, os.path, shutil และ 🆕 pathlib สำหรับการจัดการไฟล์และไดเรกทอรี
    • 10.6 การจัดการไฟล์ประเภท CSV — การอ่านและเขียนไฟล์ CSV ด้วยโมดูล csv (reader, writer, 🆕 DictReader, DictWriter)
    • 10.7 การประยุกต์วิธีจัดการแฟ้มข้อมูลในการทำงานจริง — กรณีศึกษางานวิจัยเหมืองข้อความสมุนไพร
    • 10.8 สรุป · 10.9 คำถามท้ายบท (ลงมือเขียนโปรแกรม) · 10.10 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่11_การจัดการสิ่งผิดปรกติ.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 11.1 ความหมายของสิ่งผิดปรกติ — 11.1.1 ข้อผิดพลาดทางไวยากรณ์ (Syntax Errors) · 11.1.2 สิ่งผิดปรกติขณะทำงาน (Exceptions)
    • 11.2 สิ่งผิดปรกติในภาษาไพธอน — ชนิดของ Built-in Exceptions, 🆕 วิธีอ่านข้อความ Traceback, และ 🆕 ลำดับชั้นของ Exception (Exception Hierarchy)
    • 11.3 การตรวจจับและควบคุมสิ่งผิดปรกติ
      • 11.3.1 คำสั่ง try-except · 11.3.2 การตรวจจับสิ่งผิดปรกติหลายประเภท · 11.3.3 การจัดการสิ่งผิดปรกติทั้งหมด
      • 11.3.4 ประโยค else · 11.3.5 ประโยค finally · 🆕 11.3.6 การสร้างสิ่งผิดปรกติด้วยคำสั่ง raise และแนวคิด EAFP vs LBYL
    • 11.4 สรุป · 11.5 คำถามท้ายบท · 11.6 บรรณานุกรม

  • ไฟล์บทเรียน: บทที่12_คลาส.ipynb
  • แบบฝึกหัดและเฉลย:
  • หัวข้อสำคัญ:
    • 12.1 การสร้างและใช้งานคลาส
      • 12.1.1 การสร้างคลาสและเมธอด __init__() · 12.1.2 การสร้างอินสแตนซ์ (Instance) · 12.1.3 การเข้าถึงแอตทริบิวต์ · 12.1.4 การเรียกเมธอด · 12.1.5 การสร้างหลายอินสแตนซ์ · 🆕 เมธอดพิเศษ __str__()
    • 12.2 การทำงานกับคลาสและอินสแตนซ์
      • 12.2.1 สร้างคลาส Car · 12.2.2 การตั้งค่าเริ่มต้นให้แอตทริบิวต์ · 12.2.3 การแก้ไขค่าโดยตรง · 12.2.4 การแก้ไขค่าผ่านเมธอด · 🆕 การห่อหุ้มข้อมูล (Encapsulation) และ Class Attribute vs Instance Attribute
    • 12.3 การสืบทอด (Inheritance)
      • 12.3.1 ความหมายของการสืบทอด · 12.3.2 การสืบทอดด้วย super() · 12.3.3 การเพิ่มแอตทริบิวต์และเมธอดให้คลาสลูก · 12.3.4 การสืบทอดจากหลายคลาส (Multiple Inheritance) · 12.3.5 การลบล้างเมธอด (Method Overriding) และ 🆕 Polymorphism
    • 12.4 การนำเข้าคลาส (Importing Classes)
      • การจัดเก็บคลาสในโมดูล (.py), การนำเข้าคลาสเดี่ยว/หลายคลาส/ทั้งโมดูล, และ 🆕 ความสัมพันธ์แบบ Composition (has-a)
    • 12.5 สรุป · 12.6 คำถามท้ายบท · 12.7 บรรณานุกรม

About

เอกสารประกอบการสอนในรายวิชา OOP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages