โมดูลเป็นคุณลักษณะของ Python ที่ช่วยให้คุณสามารถแบ่งโค้ดของคุณออกเป็นหลายไฟล์ได้ โมดูล Python คือไฟล์ที่ลงท้ายด้วยนามสกุล “.py”
ในคู่มือนี้ เราจะยกตัวอย่างและคุณจะได้เรียนรู้วิธีการสร้างโมดูล Python
โมดูล Python:ไพรเมอร์
โมดูลเป็นอีกคำหนึ่งสำหรับไฟล์โปรแกรม Python ซึ่งหมายความว่าไฟล์ใดๆ ในโครงการ Python ที่ลงท้ายด้วย .py
ส่วนขยายสามารถใช้เป็นโมดูลได้ โมดูลสามารถรวมฟังก์ชัน ตัวแปร และคลาส และยังสามารถนำเข้าไลบรารีของตนเองได้
โมดูลใน Python มีสามประเภทหลัก:
- โมดูลในตัว :โมดูลเหล่านี้เป็นโมดูลที่เป็นส่วนหนึ่งของ Python Standard Library รวมอยู่ในการติดตั้ง Python ของคุณ ตัวอย่างบางส่วนรวมถึงการบันทึกและเวลา
- โมดูลภายนอก :นี่คือโมดูลที่คุณติดตั้งโดยใช้ pip ซึ่งเป็นเครื่องมือจัดการแพ็คเกจของ Python
- โมดูลที่ผู้ใช้กำหนด :นี่คือฟังก์ชันที่คุณกำหนดในโปรแกรม Python ของคุณ
การเขียนโมดูลสามารถช่วยให้คุณรักษาความสามารถในการอ่านโค้ดของคุณได้ แม้ว่าในทางเทคนิคจะเป็นไปได้ที่จะเขียนโค้ดทั้งหมดสำหรับโปรแกรมในไฟล์เดียว แต่ก็ไม่ใช่ความคิดที่ดีที่สุด การรู้ว่าจะทำการเปลี่ยนแปลงไฟล์ที่มีโค้ดหลายพันบรรทัดได้ที่ไหนและอย่างไรนั้นเป็นเรื่องยาก
เราแนะนำให้อ่านบทช่วยสอนของเราเกี่ยวกับคำสั่งการนำเข้า Python หากคุณไม่คุ้นเคยกับวิธีการทำงาน
วิธีการเขียนโมดูล Python
ในคู่มือนี้ เราจะเขียนโปรแกรมสำหรับธนาคารที่เก็บยอดคงเหลือของลูกค้า เอาล่ะ.
ในการเริ่มต้น เราจะสร้างฟังก์ชันที่ยินดีต้อนรับผู้ใช้สู่ระบบติดตามยอดคงเหลือของธนาคาร เราจะเขียนฟังก์ชันนี้ในไฟล์ชื่อ bank.py ซึ่งจะเก็บรหัสสำหรับระบบติดตามธนาคารของเรา
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
def welcome_message(): print("Welcome to Python Bank!")
เมื่อเรารันโปรแกรมนี้ จะไม่มีอะไรเกิดขึ้น นี่เป็นเพราะเราไม่ได้เรียกใช้ฟังก์ชันของเรา ในการใช้รหัสของเรา เราจะสร้างไฟล์ใหม่ชื่อ main.py นี่จะเก็บรหัสหลักสำหรับโปรแกรมของเรา:
import bank bank.welcome_message()
ในรหัสของเรา เราได้นำเข้า bank
โมดูลจาก bank.py
. ของเรา ไฟล์. จากนั้นเราได้เรียก welcome_message()
ทำงานใน bank
. ของเรา โมดูล. รหัสของเราส่งคืน:
ยินดีต้อนรับสู่ Python Bank!
ในขณะที่ print()
. ของเรา ใบแจ้งยอดอยู่ใน bank.py
ไฟล์โดยใช้ import
คีย์เวิร์ด เราสามารถเรียกโค้ดนั้นในโปรแกรมหลักของเราได้ นี่เป็นตัวอย่างพื้นฐานของวิธีเรียกใช้โค้ดจากไฟล์อื่นใน Python แต่ยังมีอีกมากที่คุณสามารถทำได้ด้วยโมดูล
การใช้คลาสกับโมดูล Python
สมมติว่าเราต้องการสร้างคลาสที่เก็บข้อมูลของลูกค้าในธนาคารของเรา เราจะกำหนดคลาสนี้ใน bank.py
. ของเรา ไฟล์จึงอยู่ห่างจากโปรแกรมหลักของเรา:
def welcome_message(): print("Welcome to Python Bank!") class Customer: def __init__(self, name, balance): self.name = name self.balance = balance def show_customer(self): print("Name: " + self.name) print("Balance: $" + int(self.balance))
กลับไปที่ไฟล์ main.py ของเราเพื่อที่จะใช้โค้ดนี้ เราจะเพิ่มรหัสต่อไปนี้ซึ่งสร้างอินสแตนซ์ของคลาสลูกค้า อินสแตนซ์นี้จะเก็บชื่อและยอดคงเหลือของ Lucy ซึ่งเป็นลูกค้าใหม่ไว้ที่ธนาคาร
ไฟล์ main.py ของเราตอนนี้มีลักษณะดังนี้:
import bank bank.welcome_message() lucy = bank.Customer("Lucy", 75) lucy.show_customer()
รหัสของเราส่งคืน:
ยินดีต้อนรับสู่ Python Bank!
ชื่อ:ลูซี่
ยอดคงเหลือ:$75
ในรหัสของเรา เราได้ประกาศอินสแตนซ์ของคลาสลูกค้าที่เรียกว่า "ลูซี่" บัญชีของ Lucy มีชื่อ "Lucy" และมียอดคงเหลืออยู่ที่ 75 เหรียญ
อย่างที่คุณเห็น รหัสสำหรับคลาสลูกค้าจะไม่ถูกเก็บไว้ในโปรแกรมหลักของเรา
รหัสนี้อยู่ใน bank.py
. ของเราแทน ไฟล์. คำสั่ง “นำเข้า” ช่วยให้เราสามารถดึงรหัสทั้งหมดใน bank.py
เพื่อให้เรานำไปใช้ในโค้ดของเราได้
วิธีการนำเข้าโมดูลจากโฟลเดอร์อื่น
ใน Python คุณสามารถใช้โมดูลที่เก็บไว้ในไดเร็กทอรีต่างๆ
ในตัวอย่างที่แล้ว โมดูล “bank.py” ของเราอยู่ในโฟลเดอร์เดียวกับโฟลเดอร์ “main.py”
เนื่องจากโปรแกรมของเรานั้นสั้น ดังนั้นเราจึงไม่จำเป็นต้องมีโฟลเดอร์โมดูลแยกต่างหาก แต่ถ้าคุณกำลังเขียนโปรแกรมขนาดใหญ่ คุณอาจต้องการเก็บโมดูลไว้ในโฟลเดอร์ที่แยกจากกัน
ในการดำเนินการดังกล่าว คุณสามารถใช้คีย์เวิร์ด "จาก" ได้ ซึ่งจะช่วยให้คุณสามารถระบุโฟลเดอร์ที่คุณต้องการนำเข้าโมดูลได้
สมมติว่าเรากำลังจะย้าย bank.py
. ของเรา โมดูลลงในโฟลเดอร์ชื่อ bank_details
. จากนั้น เราสามารถนำเข้าโมดูลเฉพาะในรหัสของเราโดยเปลี่ยนใบแจ้งยอดการนำเข้าจาก "ธนาคารนำเข้า" เป็น:
จาก bank_details นำเข้าธนาคาร
ซึ่งจะทำให้เราสามารถนำเข้าเนื้อหาของ bank.py
. ของเราได้ ลงในโปรแกรมของเรา from bank_details
บอกโปรแกรมของเราว่าจะหาโมดูลได้ที่ไหน ซึ่งมักเรียกว่าเนมสเปซของโมดูล ในกรณีนี้ bank_details
เป็นโมดูลเนมสเปซและเป็นไฟล์ที่มีโค้ด Python ที่เราใช้ในโปรแกรมของเรา
บทสรุป
ไม่มีความแตกต่างระหว่างการเขียนโมดูลและไฟล์ Python อื่นๆ โมดูลเป็นเพียงไฟล์ใน Python เมื่อใช้กับคำสั่ง "นำเข้า" คุณสามารถใช้โมดูลเพื่อแยกรหัสของคุณ สิ่งนี้มีประโยชน์เพราะหมายความว่าคุณไม่จำเป็นต้องเก็บรหัสทั้งหมดสำหรับโปรแกรมของคุณไว้ในไฟล์เดียว คุณสามารถแบ่งออกเป็นหลายไฟล์และจัดหมวดหมู่โค้ดของคุณตามนั้น