6.5 การสร้างมอดูล
การสร้างมอดูล
การสร้างมอดูลของตนเอง เป็นการสร้างฟังก์ชันหลาย ๆ
ฟังก์ชัน ภายในฟังก์ชันอาจมีคลาส ตัวแปร แต่ไม่นิยมมีโปรแกรมหลักอยู่ภายในไฟล์นั้น
แล้วบันทึกจัดเก็บไว้เป็นไฟล์ไว้ในโฟลเดอร์ ภายใน
c:\Python2x\Lib
ในกรณีที่ระบบปฏิบัติการเป็น windows แต่สามารถจัดเก็บไว้ในโฟลเดอร์อื่น
ๆ ได้ เพียงแต่จัดการให้ Python รู้แหล่งที่จัดเก็บ โดยการใช้คำสั่ง
import sys; sys.path.append(‘/usr/local/yourpath/’) เป็นต้น ทั้งนี้ Python จะค้นหาที่จัดเก็บของโปรแกรมต้นฉบับที่อยู่ภายใน
c:\Python2x ก่อน
จากนั้นจะไปหาจากค่าตัวแปรภายใน PYTHONPATH คำสั่งที่ใช้ค้นหา path ได้แก่
import sys แล้วใช้คำสั่ง sys.path สำหรับคำสั่งกำหนดให้ path ของมอดูลจัดเก็บอยู่ที่ใดใช้คำสั่ง
set PYTHONPATH=c:\Python2x\Lib;
ตัวอย่างต่อไปนี้เป็นการสร้างมอดูล
เพื่อหาเลขจำนวนเต็มตามทฤษฎีของ Fibonacci ดังภาพที่
6.21
ภาพที่ 6.21 แสดงคำสั่งตัวอย่างการสร้างมอดูล
จากภาพที่ 6.21 เป็นตัวอย่างง่าย ๆ
ที่นำเอาฟังก์ชันจำนวน 2 ฟังก์ชันเก็บไว้ในโปรแกรมเดียวกัน
และบันทึกอยู่ในโฟลเดอร์ c:\Python2x\Lib เมื่อมีการเรียกใช้มอดูลนี้สามารถเรียกใช้ได้จาก
python shell และเขียนคำสั่งจากหน้าต่างใหม่ก็ได้ ตัวอย่างคำสั่งการเรียกใช้มอดูลจาก
python shell ดังภาพที่ 6.22
ภาพที่ 6.22 แสดงผลการเรียกใช้คำสั่งมอดูล
จากตัวอย่างการเรียกใช้มอดูล fibo ที่สร้างขึ้นมาด้วยตนเองนั้น จะมีลักษณะการเรียกใช้งานเหมือนกับมอดูลที่โปรแกรมสร้างมาให้ตั้งแต่การติดตั้ง
ดังนั้นมอดูลจึงเปิดโอกาสให้ผู้พัฒนาโปรแกรมสามารถสร้างคำสั่งเพิ่มขึ้นไปได้ตามต้องการ
บทสรุป
การสร้างฟังก์ชันเป็นการเขียนโปรแกรมย่อย ๆ
ในโปรแกรมขนาดใหญ่ด้วยตนเอง เพื่อลดปัญหาการเขียนโปรแกรมที่ทำงานซ้ำ ๆ
กันให้มีขนาดน้อยลง รูปแบบการเขียนมีหลายรูปแบบ ได้แก่ การเขียนฟังก์ชันชนิดที่ต้องมีอาร์กิวเมนต์
มีอาร์กิวเมนต์ที่มีคีย์เวิร์ด อาร์กิวเมนต์ที่มีค่าเริ่มต้น
และกรณีที่มีอาร์กิวเมนต์ที่มีขนาดไม่แน่นอน ในการสร้างฟังก์ชันจะมีรูปแบบที่ชัดเจน
ได้แก่ การกำหนดชื่อฟังก์ชันด้วยคำว่า def และ
ตามด้วยชื่อฟังก์ชัน
และคำสั่งทั่วไปตามวัตถุประสงค์แต่ละฟังก์ชัน และการเรียกใช้ฟังก์ชัน
จะมีการระบุชื่อฟังก์ชันและอาร์กิวเมนต์ ตามลำดับ ภายในโปรแกรมหลัก
สำหรับขอบเขตของตัวแปรจะมีเงื่อนไขภายในฟังก์ชันและตัวแปรของโปรแกรมหลัก
ถ้ากรณีที่มีชื่อซ้ำกันให้ระมัดระวังและทำ
ความเข้าใจในเรื่องตัวแปรโกลบอลและโลคอลให้แจ่มแจ้ง เพราะอาจทำให้ผลลัพธ์ออกมาผิดพลาดได้
สุดท้ายเป็นเรื่องมอดูล ซึ่งเป็นการนำเอาฟังก์ชันหลาย ๆ
ฟังก์ชันมาเก็บอยู่ในไฟล์เดียวกัน รอการเรียกใช้จากโปรแกรมหลักด้วยการ import
มอดูลเข้ามา มอดูลอาจจะเรียกจากโปรแกรมอื่น ๆ ได้
ดังนั้นจะทำให้ฟังก์ชันมีความยืดหยุ่นในการใช้งานได้มากขึ้น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น