ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

วิธีสร้าง Module library ในภาษา Python

          ใครที่เคยเขียนภาษา Python น่าจะรู้จักกันดีในการเรียกใช้ module หรือ library เพื่อที่จะนำมาใช้งานของเรา ซึ่งเราสามารถสร้างมันเข้ามาเองได้ ก่อนอื่นเรามันทำความรู้กันก่อนว่าคือนะครับ

          Python คือ ภาษาที่ใช้เขียนโปรแกรมเพื่อสื่อสารกับคอมพิวเตอร์เป็นภาษาที่มีประสิทธิภาพมากกว่าภาษาอื่นๆ ยังเป็นภาษาที่ Open source ถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม

          Module คือ กลุ่มของ ตัวแปล ฟังก์ชั่น หรือ คลาส ที่ทำงานคล้ายๆ กันแล้วเอามารวมๆ กันไว้ในไฟล์ไฟล์เดียว ในไพทอน เวลาเราจะเรียกใช้ โมดูลเราต้อง import โมดูลเข้ามาก่อน ถึงจะสามารถเรียกใช้งาน ฟังก์ชั่น หรือ คลาสที่อยู่ ภายในโมดูลได้

          Library คือ การรวม function มาอำนวยความสะดวกต่างๆ เช่น เรามีฟังก์ชั่นที่เขียนเองเอาไว้อำนวยความสะดวก เราสามารถทำการเรียกมาใช้ใหม่ได้อีก สามารถทำให้การเขียนโปรแกรมสะดวกและรวดเร็วขึ้น

          ก็ได้ทำความรู้จักข้อมูลที่เกี่ยวข้องกับการสร้าง module ขึ้นมาใช้เองกันแล้วนะครับ ก็มาถึงขั้นตอนสร้างนะครับ ในการสร้างโปรเจคขึ้นมา 1 โปรเจค ในโปรเจคจะต้องสร้าง ไฟล์ที่จะเก็บไฟล์พวก init และ module หรือ function ของเราขึ้นก่อน

ตัวอย่าง

 การสร้างไฟล์ init

 

ผลที่ได้ก็จะมีโฟรเดอร์สร้างขึ้นมาและไฟล์ init

ไฟล์ init ที่สร้างขึ้น

 

จากนั้นให้เราสร้าง ไฟล์ module ขึ้นมา ในโฟรเดอร์ testmodule โดยไปที่

การสร้างไฟล์ python ชื่อ modulesum

 

ผลที่ได้ก็มีไฟล์ modulesum

ผลการสร้างไฟล์ python ชื่อ modulesum

 

จากให้พิมพ์คำสั่ง ลงในไฟล์ modulesum.py

class numbersum:
    def __init__(self, num,num2):
        self.number = num
        self.number2=num2

    def sum(self):
        number = self.number
        number2 = self.number2
        sum = number+number2

        return sum

 

จากนั้น ในไฟล์ init ให้เราทำการ import ไฟล์และ class ที่ไฟล์ module

from modulesum import numbersum

 

ในสร้างไฟล์ขึ้นมาข้างนอกโฟรเดอร์ เพื่อที่จะทดสอบ module ที่เราทำขึ้นมา

สร้างไฟล์ python ที่ใช้สำหรับทดสอบ

 

แล้วลองเรียกใช้ module โดยใช้คำสั่ง 

from testmodule import numbersum

num, num2 = 20,17
sum = numbersum(num,num2)

print sum.sum()

 

ผลได้คือ 

 ผลในการทดสอบ library ที่สร้างขึ้นมา

 

          จากวิธีการสร้างตัว module ด้านบน สามารถนำไปใช้ได้จริงและนำไปต่อยอดได้สามารถเขียนฟังก์ชั่นอื่นมาใส่ได้และจะเป็นประโยชน์ในการเขียนและพัฒนาโปรแกรมต่อไป สามารถช่วยให้เร็วและสะดวกมากยิ่งขึ้น

 

 

อ้างอิง

Watsan Homsin.(2015).Modules Aug 13, 2019, from http://marcuscode.com/lang/python/modules

Digitalocean.(2016).How to write modules in python3 Aug 13, 2019, from https://www.digitalocean.com/community/tutorials/how-to-write-modules-in-python-3

Learnpython.(2015).Modules and packages Aug 13, 2019, from https://www.learnpython.org/en/Modules_and_Packages

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการ ปรับเปลี่ยน class ของ css ด้วย Javascript เพื่อว่าสะดวกต่อการเปลี่ยนค่า css หลายค่าพร้อมกัน
โดย Ittichai_chupol พฤ 28 พ.ย. 2019 6:22 pm บอร์ด Jquery & Ajax Knowledge
0
66
พฤ 28 พ.ย. 2019 6:22 pm โดย Ittichai_chupol
CSS คำสั่ง background การกำหนดรายละเอียดของพื้นหลัง
โดย bankjittapol พฤ 28 พ.ย. 2019 6:03 pm บอร์ด CSS Knowledge
0
59
พฤ 28 พ.ย. 2019 6:03 pm โดย bankjittapol
VDO - Introducing the new Mindphp.com Webboard system function (phpbb v.3.2)
โดย numtan5839 พฤ 28 พ.ย. 2019 5:37 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
12
พ 04 ธ.ค. 2019 8:34 pm โดย mindphp
Microsoft ประกาศ ยุติการพัฒนาแอพ Cortana ในมือถือแล้ว ยกเว้น USA !!!!
โดย chatee supasand พฤ 28 พ.ย. 2019 5:19 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
36
พฤ 28 พ.ย. 2019 5:19 pm โดย chatee supasand
อยากทราบวิธีปรับขนาดรูปให้คงสัดส่วนเอาไว้ครับ
โดย jamepiyawat พฤ 28 พ.ย. 2019 4:12 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
54
ศ 29 พ.ย. 2019 9:30 am โดย tsukasaz
อยากทราบวิธีตัด tag p ที่แทรกอยู่ระหว่างโค๊ดออก ต้องทำอย่างไร
โดย bankjittapol พฤ 28 พ.ย. 2019 3:01 pm บอร์ด Programming - PHP
1
31
พฤ 28 พ.ย. 2019 3:07 pm โดย tsukasaz
วิธีการการใช้ jquery เข้ามาปรับแก้ไขการแสดงของรูปภาพ เพื่อขยายและขยับตำแหน่ง ของ รูปภาพ
โดย Ittichai_chupol พฤ 28 พ.ย. 2019 2:55 pm บอร์ด Jquery & Ajax Knowledge
0
32
พฤ 28 พ.ย. 2019 2:55 pm โดย Ittichai_chupol
อยากทรายคำสั่งที่จะทราบขนาดรูปภาพ ครับ
โดย jamepiyawat พฤ 28 พ.ย. 2019 1:55 pm บอร์ด Programming - PHP
4
62
พฤ 28 พ.ย. 2019 3:28 pm โดย jamepiyawat
oracle spool file without whitespace
โดย jataz2 พฤ 28 พ.ย. 2019 10:22 am บอร์ด SQL - Database
0
34
พฤ 28 พ.ย. 2019 10:22 am โดย jataz2
งานประจำวันที่ 28 พฤศจิกายน 2562
โดย numtan5839 พฤ 28 พ.ย. 2019 10:13 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
13
พฤ 28 พ.ย. 2019 7:37 pm โดย numtan5839
New Logo !!! Microsoft Edge เปิดตัว โลโก้ใหม่ เผยออกตัวจริง ต้นปีหน้า
โดย chatee supasand พ 27 พ.ย. 2019 6:43 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
40
พ 27 พ.ย. 2019 6:43 pm โดย chatee supasand
CSS การใช้รูปภาพแสดงที่ Tag List
โดย bankjittapol พ 27 พ.ย. 2019 6:34 pm บอร์ด CSS Knowledge
0
32
พ 27 พ.ย. 2019 6:34 pm โดย bankjittapol
การเก็บข้อมูลชั่วคราว(Cache) ใน Joomla
โดย bankjittapol พ 27 พ.ย. 2019 5:54 pm บอร์ด Joomla Developing Knowledge
0
26
พ 27 พ.ย. 2019 5:54 pm โดย bankjittapol
วิธีการเขียน SQL ลบคอลัมน์ออกจากตารางใน ฐานข้อมูล
โดย Ittichai_chupol พ 27 พ.ย. 2019 5:44 pm บอร์ด SQL Knowledge
0
27
พ 27 พ.ย. 2019 5:44 pm โดย Ittichai_chupol
VDO - Sport Lineup Program
โดย numtan5839 พ 27 พ.ย. 2019 5:39 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
4
พ 27 พ.ย. 2019 5:39 pm โดย numtan5839
Excel เพิ่มฟีเจอร์ Sheet View ใช้งานร่วมกันหลายๆคนได้แบบไม่มีปัญหา
โดย chatee supasand พ 27 พ.ย. 2019 4:37 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
20
พ 27 พ.ย. 2019 4:37 pm โดย chatee supasand
วิธีการใช้งาน JQuery กับ Ajax เพื่อค้นหาข้อมูลจากฐานข้อมูลว่ามมีจริงหรือไม
โดย Ittichai_chupol พ 27 พ.ย. 2019 2:28 pm บอร์ด Jquery & Ajax Knowledge
0
37
พ 27 พ.ย. 2019 2:28 pm โดย Ittichai_chupol
GENNECT Cross คืออะไร?
โดย LEG พ 27 พ.ย. 2019 1:28 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
26
พ 27 พ.ย. 2019 1:28 pm โดย LEG
จะกำหนด icon เฉพาะ ข้อความใน tag new ได้ยังไงครับ
โดย bankjittapol พ 27 พ.ย. 2019 12:20 pm บอร์ด Joomla Development
2
41
ส 30 พ.ย. 2019 1:36 pm โดย bankjittapol
B - ปัญหา login ผ่าน xmlrpc แล้ว Error Connect error: Connection timed out (110)
โดย tsukasaz พ 27 พ.ย. 2019 10:10 am บอร์ด MlineCRM Line + MD-CRM
5
9
พ 27 พ.ย. 2019 5:12 pm โดย mindphp