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

ความต่าง Module vs Package ใน Python

Module = ไฟล์ .py เดียว

Package = โฟลเดอร์มี __init__.py + Modules/Subpackages

โครงสร้าง


# Module
mymodule.py

# Package
mypackage/
    __init__.py
    module1.py
    module2.py
    subpackage/
        __init__.py
        module3.py

การ Import

>>> import mymodule           # Module
>>> import mypackage          # Package (รัน __init__.py)
>>> import mypackage.module1  # Module ใน Package
>>> from mypackage import module1

จุดสำคัญ

  • Import Package → เห็นเฉพาะ __init__.py (Submodules ไม่ Auto-load)
  • Type ของ Object จาก Import ทุกอย่าง = module
  • Nested Package ได้ไม่จำกัด

ตัวอย่าง datetime

>>> import datetime
>>> datetime.date.today()      # AttributeError!
>>> from datetime import date  # ต้อง Import แยก
>>> date.today()               # OK