หน่วยที่ 1 พื้นฐานของภาษาไพทอน
หน่วยที่ 1 พื้นฐานของภาษาไพทอน
ปี 1989: Guido van Rossum นักวิทยาศาสตร์คอมพิวเตอร์ชาวดัตช์ (เนเธอร์แลนด์) ได้เริ่มทำงานเกี่ยวกับภาษาโปรแกรมมิ่งภาษาใหม่ที่อ่านและเขียนได้ง่าย เขาตั้งชื่อตามชื่อ Flying Circus ของ Monty Python ซึ่งเป็นรายการตลกของอังกฤษที่เขาชอบดู
ปี 1991: เวอร์ชันแรกของ Python คือ เวอร์ชัน 0.9.0 ได้รับการเผยแพร่ออกมาและมีฟีเจอร์หลายอย่างที่ยังคงมีอยู่ใน Python เวอร์ชันใหม่ เช่น Class Inheritance, Exception Handling และ Modules
ปี 1994: Python 1.0 เปิดตัว มีฟีเจอร์ใหม่ ๆ เช่น Lambda, Filter, Map และ Reduce ซึ่งทำให้โปรแกรมทำงานได้ง่ายขึ้น นอกจากนี้ยังเพิ่มการรองรับโมดูล ซึ่งอนุญาตให้โปรแกรมเมอร์จัดระเบียบโค้ดของตนเองเป็นไฟล์แยกต่างหาก
ปี 2000: Python 2.0 เปิดตัว ฟีเจอร์ใหม่ ๆ ที่เพิ่มเข้ามาในเวอร์ชันนี้ เช่น List Comprehension, Garbage Collector และการสนับสนุน Unicode
ปี 2008: Python 3.0 เปิดตัว Python โดยเวอร์ชันนี้เป็นการอัปเดตครั้งใหญ่ก็ว่าได้ ซึ่งจะไม่รองรับการทำงานแบบย้อนกลับกับเวอร์ชันก่อนหน้า และยังได้ลบฟีเจอร์หลายอย่างที่ถือว่าซ้ำซ้อน (redundant) หรือทำให้ผู้ใช้สับสนออกไป และได้นำเอาฟังก์ชันในปัจจุบันของ Python เข้ามาใช้ในเวอร์ชันนี้ ซึ่งฟังก์ชันที่ว่านี้ก็คือ "print( )" ซึ่งสาวกไพธอนหรือคนที่ใช้งานอยู่คงรู้จักกันดีครับ ทำให้การเขียนโค้ดทั้งใน Python 2 และ 3 ได้ง่ายขึ้น
คีโด ฟัน โรสซึม (Guido van Rossum) ผู้สร้างภาษาไพทอน (Image source: WikiPedia)
ตั้งแต่นั้นมา Python ก็พัฒนาอย่างต่อเนื่อง โดยมีเวอร์ชันใหม่ๆ ออกมาอย่างสม่ำเสมอ ปัจจุบัน Python เป็นหนึ่งในภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในโลก โดยมีชุมชนนักพัฒนาขนาดใหญ่ ถูกนำไปใช้งานได้หลากหลาย รวมถึงการพัฒนาเว็บ (Web Development) การวิเคราะห์ข้อมูล (Data Analysis) ปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง (AI & Machine Learning) เป็นต้น
ไวยากรณ์ (Syntax) ของภาษานั้นอ่านและทำความเข้าใจได้ง่าย มีความตรงไปตรงมา คล้ายคลึงกันกับภาษาอังกฤษเลยก็ว่าได้
สามารถนำไปประยุกต์ใช้งานได้หลากหลายด้าน ไม่ว่าจะเป็น Web Development, Data Science, AI & Machine Learning, GUI, Automation, Network Systems, Games, Web Scraping, etc (ภาษาเดียว ทำได้เยอะขนาดนี้เลยครับ)
มี community ขนาดใหญ่ มีแหล่งเรียนรู้เยอะ อันเนื่องมาจากความนิยมของภาษานั่นเอง ทำให้จะเรียนหรือค้นหาข้อมูลอะไรเกี่ยวกับ Python ก็มีเยอะแยะเต็มไปหมดครับ
Python เป็น open source ซอฟต์แวร์ เราสามารถโหลดใช้งานได้ฟรีไม่ต้องมีค่า license ต่าง ๆ
มีไลบรารี่ต่าง ๆ เยอะแยะมากมายให้เลือกใช้งาน
ในด้านความเร็ว ถือว่าเป็นภาษาที่มีความเร็วในการประมวลผลช้ากว่าภาษาแนว Compiled Languages อย่างเช่น C, C++ เป็นต้น เพราะว่า Python นั้นจัดการหน่วยความจำให้เราอัตโนมัติ สังเกตง่าย ๆ ตอนกำหนดตัวแปรเราก็ไม่ต้องกำหนด Type ของตัวแปรเลย (อันนี้แค่ส่วนหนึ่ง)
ไม่ใช่ภาษา Native สำหรับพัฒนา Mobile App นี่เป็นหนึ่งในไม่กี่ด้านที่ภาษาไพธอนทำได้ไม่เต็มที่ครับ (ถึงแม้จะไลบรารีสำหรับทำด้านนี้อยู่บ้าง แต่ก็ไม่นิยม) โดยถ้าเป็นด้านพัฒนาแอพมือถือ ที่แนะนำก็จะเป็นภาษาหรือเครื่องมือจำพวก Flutter, React Native, Kotlin, Swift เป็นต้น แต่วงเล็บเอาไว้ว่าเราสามารถใช้ Python ทำเป็น API ฝั่งหลังบ้านของ Mobile App ได้
กิจกรรมฝึกทักษะ
กิจกรรมที่ 1
หาผลลัพธ์ดังต่อไปนี้
1.print("Hello Python") ผลลัพธ์คือ ...................................................................................................................
2.print('My name is ........................') ผลลัพธ์คือ .............................................................................................
กิจกรรมที่ 2
หาผลลัพธ์ต่อไปนี้
print("I am"+"16"+"Years old") ผลลัพธ์คือ......................................................................................
print("I am","16","Years old") ผลลัพธ์คือ........................................................................................
ข้อ 1 และ ข้อ 2 ผลที่ได้แตกต่างกันหรือไม่อย่างไร ...........................................................................
กิจกรรมที่ 3
หาผลลัพธ์ต่อไปนี้
x=input("What is your name :")
print(x) ผลลัพธ์คือ ..............................................................................................................................
print("Hi,",x) ผลลัพธ์คือ ......................................................................................................................
print("Hi,"+x) ผลลัพธ์คือ ....................................................................................................................
print(f"Hi,{x}") ผลลัพธ์คือ ...................................................................................................................
print(("Hi,{0}").format(x)) ผลลัพธ์คือ .................................................................................................
กิจกรรมที่ 4
จงตอบคำถามต่อไปนี้ให้ถูกต้อง
1.ภาษา Python ถูกพัฒนาขึ้นในปี ค.ศ.ใด
ตอบ......................................................................................................................................................................
2.ผู้ริเริ่มภาษาไพทอนคือ
ตอบ......................................................................................................................................................................
3.ภาษาไพทอนเป็นภาษาระดับใด
ตอบ......................................................................................................................................................................
4.จงบอกข้อดีของภาษาไพทอน มา 2 ข้อ
ตอบ......................................................................................................................................................................
5.จงตอบข้อเสียของภาษาไพทอน มา 2 ข้อ
ตอบ......................................................................................................................................................................
หน่วยที่ 2 ตัวแปรและชนิดข้อมูลพื้นฐาน
สัปดาห์ที่ 5
แบบทดสอบ
ข้อ 1. ข้อใด ไม่ถูกต้อง ตามกฎการตั้งชื่อตัวแปรใน Python
A. ชื่อตัวแปรขึ้นต้นด้วยตัวอักษรได้
B. ชื่อตัวแปรสามารถมีตัวเลขและ _ (ขีดล่าง) ได้
C. ชื่อตัวแปรสามารถเว้นวรรคได้
D. ชื่อตัวแปรห้ามใช้ชื่อที่เป็นคำสงวนของภาษา
ข้อ 2. ข้อใดเป็นชื่อตัวแปรที่สามารถใช้ได้ในภาษา Python
A. 1score
B. my-score
C. _totalScore
D. print
ข้อ 3. ชื่อตัวแปรใน Python มีลักษณะอย่างไร
A. ต้องเป็นภาษาอังกฤษเท่านั้น
B. ใช้ตัวพิมพ์ใหญ่เท่านั้น
C. แยกแยะตัวพิมพ์เล็กกับพิมพ์ใหญ่
D. ต้องขึ้นต้นด้วยตัวเลขเสมอ
ข้อ 4. จากตัวเลือกใด ไม่เหมาะสมที่จะใช้เป็นชื่อตัวแปร
A. total_score
B. name1
C. while
D. age
ข้อ 5. ถ้าต้องการตั้งชื่อตัวแปรให้แสดงถึง "ชื่อนักเรียน" อย่างเหมาะสม ควรตั้งว่า
A. name_student
B. student name
C. Student-Name
D. 123student
ข้อ 6. คำสั่งใดใช้ตรวจสอบประเภทของข้อมูลใน Python
A. check(data)
B. typeof(data)
C. type(data)
D. class(data)
ข้อ 7. ผลลัพธ์ของ type("Hello") คืออะไร
A. <class 'int'>
B. <class 'str'>
C. <class 'bool'>
D. <class 'float'>
ข้อ 8. type(True) จะให้ผลลัพธ์เป็นอะไร
A. <class 'int'>
B. <class 'bool'>
C. <class 'str'>
D. <class 'none'>
ข้อ 9. คำสั่งใดที่ให้ค่าประเภท <class 'float'>
A. type(20)
B. type("20.5")
C. type(20.5)
D. type(False)
ข้อ 10. ผลลัพธ์ของ type(5 + 5.0) คืออะไร
A. <class 'int'>
B. <class 'str'>
C. <class 'float'>
D. <class 'bool'>
ตัวอย่างโปรแกรม:
python
CopyEdit
score = int(input("กรุณาใส่คะแนนเก็บของคุณ"))
mid = int(input("กรุณาใส่คะแนนสอบกลางภาค"))
final = int(input("กรุณาใส่คะแนนสอบปลายภาค"))
sum = score + mid + final
print("คะแนนรวมของคุณคือ", sum)
ข้อ 11. ตัวแปร sum มีหน้าที่อะไร
A. รับค่าจากผู้ใช้
B. แสดงผลลัพธ์
C. คำนวณผลรวมของคะแนนทั้งหมด
D. เปรียบเทียบค่าคะแนน
ข้อ 12. ถ้าผู้ใช้กรอกค่าตามลำดับ: 10, 20, 30 โปรแกรมจะพิมพ์ว่าอะไร
A. คะแนนรวมของคุณคือ 60
B. คะแนนรวมของคุณคือ 50
C. คะแนนรวมของคุณคือ 100
D. คะแนนรวมของคุณคือ 10 20 30
ข้อ 13. หากต้องการแปลงคะแนนที่รับมาให้เป็นเลขทศนิยม ควรใช้คำสั่งใดแทน int
A. str()
B. float()
C. bool()
D. input()
ข้อ 14. หากต้องการตรวจสอบว่า sum >= 50 หรือไม่ ควรใช้คำสั่งใด
A. if sum >= 50:
B. if sum => 50:
C. if (sum = 50):
D. if sum =>= 50:
ข้อ 15. หากต้องการแสดงผลเฉพาะเมื่อคะแนนรวมมากกว่าหรือเท่ากับ 80 ควรเพิ่มคำสั่งใด
A. if sum == 80: print("ดีมาก")
B. if sum > 80: print("ดีมาก")
C. if sum >= 80: print("ดีมาก")
D. if sum <= 80: print("ดีมาก")
print("โปรแกรมคำนวณการยืมหนังสือ")
Book = int(input("จำนวนหนังสือที่ต้องการยืม: "))
Price = int(input("ราคาการยืมหนังสือต่อเล่ม: "))
Sum = Book * Price
print("ราคารวมทั้งหมด", Sum, "บาท")
print("จบการทำงาน")
จากโปรแกรมตอบคำถามข้อ 16 ถึง 20
ข้อ 16. โปรแกรมนี้มีวัตถุประสงค์เพื่ออะไร
A. คำนวณจำนวนหนังสือทั้งหมด
B. คำนวณค่าปรับจากการคืนหนังสือช้า
C. คำนวณราคาการยืมหนังสือรวมทั้งหมด
D. ตรวจสอบชื่อหนังสือที่ยืม
ข้อ 17. คำสั่งใดที่ใช้รับค่าจำนวนหนังสือจากผู้ใช้
A. input(Book)
B. Book = int(input(...))
C. Book = input(int(...))
D. int = input(Book)
ข้อ 18. ถ้าผู้ใช้ใส่จำนวนหนังสือ = 3 และราคาต่อเล่ม = 20 โปรแกรมจะแสดงผลว่า
A. ราคารวมทั้งหมด 23 บาท
B. ราคารวมทั้งหมด 60 บาท
C. ราคารวมทั้งหมด 320 บาท
D. ราคารวมทั้งหมด 17 บาท
ข้อ 19. ตัวแปร Sum มีหน้าที่ใดในโปรแกรม
A. เก็บชื่อหนังสือ
B. เก็บจำนวนหนังสือทั้งหมด
C. เก็บราคารวมของการยืมหนังสือ
D. แสดงข้อความ "จบการทำงาน"
ข้อ 20. หากต้องการแสดงผลราคารวมเป็นทศนิยม เช่น 60.00 บาท ควรแก้ไขอย่างไร
A. เปลี่ยน int เป็น str
B. เปลี่ยน int เป็น bool
C. เปลี่ยน int เป็น float
D. เปลี่ยน int เป็น input
สัปดาห์ที่ 14
กิจกรรมที่ 1 การเข้าถึงค่าของตัวอักษร
text="Buengsriracha"
print(text[0])
print(text[5])
print(text[8])
print(text[-3])
กิจกรรมที่ 2 การเข้าถึงค่าด้วยการตัดแบ่งข้อความ
text="Buengsriracha"
print(text[0:6])
print(text[3:5])
print(text[:8])
print(text[-3:])
กิจกรรมที่ 3 การนับจำนวนอักขระ
text="Buengsriracha school"
count=len(text)
print(count)
กิจกรรมที่ 4 การเปลี่ยนตัวพิมพ์เล็ก พิมพ์ใหญ่
text="Buengsriracha school"
lower_text = text.lower()
print(lower_text)
text="Buengsriracha school"
upper_text = text.upper()
print(upper_text)
สัปดาห์ที่ 16 คำสั่งเลือกทำและวนซ้ำ
งานห้อง 4/6 และ 4/7 วันจันทร์ ที่ 1 กันยายน 2569