Trong bài này chúng ta sẽ tìm hiểu về gói (Package) trong Python.
Một package đơn giản là một thư mục chứa các module có liên quan với nhau, trong thư mục này có một file đặc biệt tên là __init__.py
.
Như trong bài trước chúng ta đã biết trong Python có các cách sau để quản lý code:
- Dùng hàm
- Dùng lớp
- Dùng module
- Dùng package
Nếu chương trình của chúng ta đủ lớn (cỡ hàng trăm module) thì chúng ta nên dùng package.
Để tạo một package thì bạn làm những bước sau đây:
- B1: Tạo một thư mục với tên package mà bạn muốn đặt
- B2: Trong thư mục đó tạo một file có tên
__init__.py
- B3: Đặt các module mà bạn viết vào thư mục đó
Bất cứ thư mục nào chứa file __init__.py sẽ sẽ trở thành một package của Python.
Ví dụ: mình tạo một folder với tên constants, trong file này mình tạo file __init__.py và một module có tên names (file có tên names.py)
test_package.py constants/ __init__.py names.py
print ("Package names initialized!")
names = ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom')
Vậy là bạn đã tạo xong package constants rồi. Bây giờ chúng ta sẽ tạo một file script Python ở ngoài để dùng thử.
from constants import names print (names.names)
Để sử dụng package thì bạn dùng câu lệnh import như dùng với module bình thường.
Package names initialized! ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom')
Bạn cũng có thể tạo một package trong một package hay còn gọi là các package con.
test_package.py constants/ __init__.py names.py numbers/ __init__.py integers.py
Trong ví dụ trên chúng tạo package numbers trong package constants. Bên trong package numbers có một module tên là integers.
print ("Package constants.numbers initialized")
Các file __init__.py bạn có thể để trống chứ không cần ghi gì trong đó cả.
integers = (2, 3, 45, 6, 7, 8, 9)
from constants import names from constants.numbers import integers print (names.names) print (integers.integers)
Để import package con thì bạn dùng dấu chấm.
Package constants initialized! Package constants.numbers initialized! ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom') (2, 3, 45, 6, 7, 8, 9)