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

Package ใน Python คืออะไร? (Module vs Package)

Module = ไฟล์ .py เดียว (ชื่อ = ชื่อไฟล์ ไม่รวม .py)

Package = โฟลเดอร์ที่มีโมดูลหลายตัว + ไฟล์ __init__.py

โครงสร้าง


mypackage/           # Package
    __init__.py      # ทำให้เป็น Package (อาจว่างได้)
    module1.py       # Module
    module2.py       # Module
    subpackage/      # Nested Package
        __init__.py
        module3.py

การ Import

>>> import mypackage              # Import Package (รัน __init__.py)
>>> import mypackage.module1      # Import Module ใน Package
>>> from mypackage import module1 # Import Module เข้า Namespace
>>&>> from mypackage.subpackage import module3

จุดสำคัญ

  • Import Package → เห็นเฉพาะสิ่งใน __init__.py (Submodules ไม่ Auto-import)
  • Object ที่สร้างจาก Import ทุกอย่างเป็น Type module
  • Nested Package ได้ไม่จำกัด (ต้องมี __init__.py ทุกระดับ)

ตัวอย่าง datetime

>>> import datetime
>>> datetime.date.today()      # Error! date ไม่อยู่ใน datetime namespace
>&>> from datetime import date  # ต้อง Import แยก
>>> date.today()               # OK