Package trong Python
Trong bài trước bạn đã tìm hiểu về module, cách tạo và gọi một module trong Python. Ở bài này, chúng ta sẽ học cách phân chia code thành những module hiệu quả, rõ ràng, sử dụng các package trong Python. Thêm nữa là cách để nhập và sử dụng package của riêng bạn, hoặc package bạn tải về từ đâu đó vào chương trình Python.
Package trong Python là gì?
Thông thường người dùng không lưu trữ tất cả các file của mình trên máy tính ở cùng một thư mục, vị trí, mà sử dụng hệ thống phân cấp thư mục để truy cập dễ dàng hơn. Các tệp tương tự hoặc cùng liên quan đến một chủ đề nào đó sẽ được để trong cùng một thư mục, chẳng hạn các bài học về hàm Python sẽ lưu trong thư mục hàm Python. Tương tự như vậy, Python có các package cho thư mục và module cho file.
Khi chương trình đang code ngày càng lớn với rất nhiều module, chúng ta sẽ đặt những module giống nhau vào một package, và những nhóm module khác vào package khác. Điều này giúp dễ dàng quản lý chương trình hơn và nó cũng dễ hiểu hơn.
Nếu như thư mục có thể chứa các thư mục con thì package cũng vậy, trong một package có thể có package con và các module khác.
Một thư mục phải chứa file có tên __init__.py để Python hiểu thư mục này là một package. File này có thể để trống, nhưng thông thường các lập trình viên thường đặt code khởi tạo cho package ở đây.
Giả sử, ta đang phát triển chương trình có tên QTM, với các package con, module như sau:
Nhập module từ package trong Python
Ta có thể nhập các module từ package sử dụng toán tử dấu chấm (.).
Ví dụ, nếu muốn nhập module mo.py trong ví dụ trên, bạn làm như sau:
import QTM.Video.mo
Nếu trong module mo.py chứa hàm có tên là chon_video(), bạn sẽ phải sử dụng tên đầy đủ để tham chiếu tới nó:
import QTM.Video.mo.chon_video(video1)
Nếu cấu trúc trên dài quá, bạn có thể nhập module mà không cần tiền tố package như sau:
from QTM.Video import mo
Ta có thể gọi hàm đơn giản như sau:
mo.chon_video(video1)
Ngoài ra, còn một cách nữa để chỉ nhập hàm được yêu cầu (lớp hoặc biến) từ module trong 1 package như sau:
from QTM.Video.mo import chon_video
Sau đó, trực tiếp gọi hàm này:
chon_video(video1)
Dù dễ dàng hơn, nhưng cách nhập sau cùng này không được khuyến khích sử dụng. Việc dùng tên đầy đủ sẽ giúp giảm tình trạng nhầm lẫn và tránh bị trùng giữa những định danh giống nhau.
Trong khi nhập các package, Python sẽ tìm kiếm danh sách thư mục được định nghĩa trong sys.path, giống như đường dẫn tìm kiếm module. Bạn đừng quên làm bài tập Python nhé!
Bạn nên đọc
Cũ vẫn chất
-
Có nên hack spin Coin Master, hack spin Coin Master có mất tài khoản không?
Hôm qua -
Cách gạch ngang chữ trong Word, v̶i̶ế̶t̶ ̶c̶h̶ữ̶ ̶g̶ạ̶c̶h̶ ̶n̶g̶a̶n̶g̶ trong Word và Excel
Hôm qua -
Cách cài WARP 1.1.1.1 trên máy tính để vào web bị chặn
Hôm qua 38 -
DDD là gì? Destroy Dick December là gì?
Hôm qua 6 -
Hướng dẫn chơi game trên Telegram
Hôm qua -
Nên xem Attack on Titan theo thứ tự nào?
Hôm qua -
Hướng dẫn đổi ID Facebook, thay địa chỉ Facebook mới
Hôm qua -
Cách sửa lỗi 0x0000001E: KMODE EXCEPTION NOT HANDLED trên Windows
Hôm qua -
Cách bật, tắt chế độ tạm thời trên Instagram tự xóa tin nhắn
Hôm qua -
Cách cài tiếng Việt cho Minecraft
Hôm qua