Package ช่วยจัดระเบียบโค้ดเป็นลำดับชั้น ต้องมีไฟล์ __init__.py ในโฟลเดอร์
โครงสร้างตัวอย่าง
university/ ├── __init__.py ├── student.py ├── faculty.py └── testing.py
ไฟล์ student.py
class Student:
def __init__(self, student):
self.name = student['name']
self.gender = student['gender']
self.year = student['year']
def get_student_details(self):
return f"Name: {self.name}\nGender: {self.gender}\nYear: {self.year}"
ไฟล์ faculty.py
class Faculty:
def __init__(self, faculty):
self.name = faculty['name']
self.subject = faculty['subject']
def get_faculty_details(self):
return f"Name: {self.name}\nSubject: {self.subject}"
ไฟล์ testing.py (เข้าถึง)
from student import Student
from faculty import Faculty
student_dict = {'name': 'John', 'gender': 'Male', 'year': '3'}
faculty_dict = {'name': 'Emma', 'subject': 'Programming'}
student = Student(student_dict)
faculty = Faculty(faculty_dict)
print(student.get_student_details())
print()
print(faculty.get_faculty_details())
Sub-package
สร้างโฟลเดอร์ย่อยมี __init__.py แล้ว import แบบ from student.main import Student
สรุป
Package จัดระเบียบโค้ดดี ใช้ dot notation เข้าถึงลึกได้ไม่จำกัด