INTRODUCTION
FLOW CONTROL
FUNCTIONS
DATATYPES
OBJECT & CLASS
ADVANCED TOPICS
BỔ SUNG
PYTHON CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Package trong Python: Có gì khác với module

Trong bài này chúng ta sẽ tìm hiểu package trong Python, đây là phương pháp quản lý các module theo package, giúp việc xây dựng cấu trúc của ứng dụng Python trở nên đơn giản hơn rất nhiều.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong bài module mình đã hướng dẫn bạn cách tạo một module đơn giản trong Python, và nó nằm cùng cấp thư mục với file chính của chương trình. Giả sử trường hợp bạn tạo ra 100 modules thì phải tạo ra 100 files, như vậy việc quản lý các modules sẽ rất phức tạp.

Để đơn giản hóa thì trong Python xuất hiện thêm khái niệm package. Chi tiết thế nào thì chúng ta cùng tìm hiểu ngay nhé.

1. Package trong Python là gì?

Package là cách tạo ra các gói và mỗi gói sẽ chứa những module liên quan với nhau. Phương pháp này giúp việc phân chia modules trong Python một cách dễ dàng.

Bài viết này được đăng tại [free tuts .net]

Bạn có thể hiểu một package giống như folder trong máy tính vậy. Bên trong folder này có thể chứa thêm một folder khác (tức là package khác), và cũng có thể chứa thêm những file khác (tức là các modules).

Hình ảnh dưới đây là cấu trúc của package Game.

cau truc package python jpg

Như bạn thấy:

  • Bên trong Game có thêm 3 package con là Sound, Image, Level
  • Bên trong 3 package con này chứa các module có liên quan với nhau.

Điều đặc biệt là mỗi package bắt buộc phải có file __init__.py, đây là file được gọi đầu tiên mỗi khi bạn import package nó vào chương trình. Nếu bạn đã học lập trình hướng đối tượng thì file này giống như hàm khởi tạo của một lớp vậy đó.

2. Thực hành tạo một package trong Python

Giả sử mình cần tạo package có tên là Store.

package store JPG

Như bạn thấy trong hình, mình đã tạo một folder Store và một file __init__.py, bây giờ mình sẽ viết code trong file này như sau:

Store/__init__.py
print("Bạn đã load package Store")

Để gọi đến package này trong file helloworld.py thì ta sử dụng lệnh sau

import Store

Chạy lên bạn sẽ nhận được kết quả như sau:

package ket qua 1 JPG

Như vậy đoạn code trong file __init__.py đã tự động được gọi.

3. Tạo module trong Package Python

Để tạo một module nằm trong một package A thì bạn chỉ việc tạo file module_name.py nằm trong thư mục package A là được.

Giả sử mình cần tạo module computer.py nằm trong package Store thì cấu trúc sẽ như sau:

package store 2 JPG

Tạo một hàm trong package computer như sau:

def showComputerMsg(msg):
    print(msg)

Bây giờ để sử dụng package computer trong file helloworld.py thì ta sử dụng lệnh import như sau:

import Store.computer
Store.computer.showComputerMsg('Máy tính của Freetuts.net')

Hoặc sử dụng lệnh from ... import như sau:

from Store import computer
computer.showComputerMsg('Máy tính của Freetuts.net')

4. Tạo package bên trong một package khác

Package trong Python có thể tạo chồng lên nhau. Ví dụ trong package A bạn muốn chia thành 2 package nhỏ là B và C thì hoàn toàn được, bằng cách sử dụng cấu trúc sub folder như phần 1.

Điều lưu ý duy nhất là mỗi package bắt buộc phải có file __init__.py nhé.

packageA
    __init__.py
    packageB
        __init__.py
    packageC
        __init__.py

Và để truy xuất đến các package này thì chỉ việc sử dụng dấu chấm để nối giữa các package là được.

Ví dụ: Giả sử mình có cấu trúc package như sau trong một ứng dụng Python.

Store
    __init__.py
    Computer
        __init__.py
        Ram
            __init__.py
            raminfor.py

Lúc này để gọi đến module raminfor thì ta sử dụng cú pháp sau:

import Store.Computer.Ram.raminfor

Các cách gọi khác thì tương tự như phần 3 nhé.

Như vậy là qua bài này bạn đã biết cách sử dụng package trong Python rồi nhỉ. Mình hy vọng bạn hiểu được các vấn đề sau:

  • Cách tạo và gọi đến các package
  • Hiểu ý nghĩa của file __init__.py trong Python
  • Và nhiều kiến thức liên quan khác.

Cùng chuyên mục:

Phạm vi số float của Python

Phạm vi số float của Python

Bài tập Python : Pandas trong Python

Bài tập Python : Pandas trong Python

Hướng dẫn kết nối Python PostgreSQL bằng Psycopg2

Hướng dẫn kết nối Python PostgreSQL bằng Psycopg2

Kết nối cơ sở dữ liệu MySQL Python

Kết nối cơ sở dữ liệu MySQL Python

Bài tập Python: Lập trình cơ sở dữ liệu trong Python

Bài tập Python: Lập trình cơ sở dữ liệu trong Python

Tạo số ngẫu nhiên trong một phạm vi bằng Python

Tạo số ngẫu nhiên trong một phạm vi bằng Python

Bài tập Python : Tạo dữ liệu ngẫu nhiên trong Python

Bài tập Python : Tạo dữ liệu ngẫu nhiên trong Python

Bài tập Python : Matplotlib trong Python

Bài tập Python : Matplotlib trong Python

Bài tập Python: NumPy trong Python

Bài tập Python: NumPy trong Python

Bài tập Python: JSON trong Python

Bài tập Python: JSON trong Python

Bài tập Python: Lập trình hướng đối tượng (OOP) trong Python

Bài tập Python: Lập trình hướng đối tượng (OOP) trong Python

TimeDelta trong Python

TimeDelta trong Python

Chuyển chuỗi Python thành DateTime trong Python

Chuyển chuỗi Python thành DateTime trong Python

Bài tập Python: DateTime trong Python

Bài tập Python: DateTime trong Python

Bài tập Python: Tuple trong Python

Bài tập Python: Tuple trong Python

Bài tập Python: Set trong Python

Bài tập Python: Set trong Python

Bài tập Python: Dictionary trong Python

Bài tập Python: Dictionary trong Python

Bài tập Python: List trong Python

Bài tập Python: List trong Python

Bài tập Python: Cấu trúc dữ liệu trong Python

Bài tập Python: Cấu trúc dữ liệu trong Python

Bài tập Python: Chuỗi trong Python

Bài tập Python: Chuỗi trong Python

Top