Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โมดูล Python:วิธีสร้างโมดูล

โมดูลเป็นคุณลักษณะของ 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 เมื่อใช้กับคำสั่ง "นำเข้า" คุณสามารถใช้โมดูลเพื่อแยกรหัสของคุณ สิ่งนี้มีประโยชน์เพราะหมายความว่าคุณไม่จำเป็นต้องเก็บรหัสทั้งหมดสำหรับโปรแกรมของคุณไว้ในไฟล์เดียว คุณสามารถแบ่งออกเป็นหลายไฟล์และจัดหมวดหมู่โค้ดของคุณตามนั้น