Module
Table of Contents
1) Module
โมดูลในภาษา Python คือไฟล์ที่ประกอบด้วยฟังก์ชันอย่างน้อยหนึ่งฟังก์ชัน มีไว้เพื่อ
- เก็บฟังก์ชันที่เกี่ยวข้องกันไว้ในที่เดียวกัน
- นำฟังก์ชันไปใช้งานที่อื่นได้ง่าย เช่น ระหว่างโปรเจคอื่น
- เผยแพร่ให้ผู้อื่นใช้งานได้ง่าย
ทดลองสร้าง module ของตัวเองใน labpy ตามด้านล่าง
2) Package
- การนำโมดูลหลายๆโมดูลที่มีวัตถุประสงค์เดียวกันมาอยู่รวมกันเราเรียกว่าเป็นหนึ่ง package
- ในทางปฎิบัตินั้น หนึ่ง package ก็คือหนึ่งโฟลเดอร์หรือหนึ่งไดเรคทอรี่นั่นเอง เหมือนกับการรวมไฟล์หลายไฟล์ไว้ในโฟลเดอร์ โดยชื่อโฟลเดอร์ก็คือชื่อ package นั่นเอง และหลาย package ก็สามารถรวมกันอยู่ในอีกโฟลเดอร์หรือ package อื่นได้เช่นกัน
3) The Python Standard Library
- Python มี built-in modules ให้เรียกใช้เช่นกัน
- ดูลิสได้ที่ https://docs.python.org/3/library/index.html
- ตัวอย่างเช่น: math module https://docs.python.org/3/library/math.html
import math
a = 108
b = 24
print('GCD of a and b is ', math.gcd(a,b))
GCD of a and b is 12
4) Exercise
Exercise 1
จงเขียนฟังก์ชัน areaCircle(r)
ซึ่งเป็นฟังก์ชันที่ส่งค่าพื้นที่ของวงกลมรัศมี r เมื่อ 0 < r < 100
Hint
- ใช้ math.pi
Exercise 2
จงเขียนฟังก์ชัน nextDay(dayofweek, num=1)
ซึ่งเป็นฟังก์ชันที่รับ
dayofweek
เป็น string บ่งบอกชื่อวันในสัปดาห์ เช่นMonday
,Tuesday
num=1
เป็นจำนวนวันถัดไปจากdayofweek
แล้วคืนค่าเป็นชื่อวันในสัปดาห์หลังจาก num
วันถัดไป เช่น nextDay("Monday")
จะได้ Tuesday
และ nextDay("Wednesday", 3)
จะได้ Saturday
Hint
- array.index() สามารถหา
index
ของสมาชิกในlist
ได้ - ใช้ datetime.datetime.strftime ประกอบกับ datetime.timedelta
- ดูแนวการใช้งานที่ strftime() and strptime() Behavior
- เช่น
datetime.datetime.strftime(datetime.datetime(1900, 1, 1, 0, 0), "%A")
จะได้Monday