Có bao nhiêu gói trong Python?

Gói là một thùng chứa các chức năng khác nhau để thực hiện các tác vụ cụ thể. Ví dụ: gói

Game.Level.start.select_difficulty(2)
5 bao gồm hàm
Game.Level.start.select_difficulty(2)
6 để thực hiện căn bậc hai của một số

Khi làm việc trên các dự án lớn, chúng ta phải xử lý một lượng lớn mã và việc viết mọi thứ cùng nhau trong cùng một tệp sẽ khiến mã của chúng ta trông lộn xộn. Thay vào đó, chúng ta có thể tách mã của mình thành nhiều tệp bằng cách giữ mã liên quan lại với nhau trong các gói

Bây giờ, chúng ta có thể sử dụng gói bất cứ khi nào chúng ta cần trong các dự án của mình. Bằng cách này, chúng tôi cũng có thể sử dụng lại mã của mình


Cấu trúc mô hình gói trong lập trình Python

Giả sử chúng ta đang phát triển một trò chơi. Một tổ chức có thể có của các gói và mô-đun có thể như trong hình bên dưới

Có bao nhiêu gói trong Python?
Cấu trúc mô hình gói trò chơi

Ghi chú. Một thư mục phải chứa một tệp có tên

Game.Level.start.select_difficulty(2)
7 để Python coi nó là một gói. Tệp này có thể để trống nhưng chúng tôi thường đặt mã khởi tạo cho gói đó trong tệp này


Nhập mô-đun từ một gói

Trong Python, chúng ta có thể nhập các mô-đun từ các gói bằng cách sử dụng dấu chấm (. ) nhà điều hành

Ví dụ: nếu chúng ta muốn nhập mô-đun

Game.Level.start.select_difficulty(2)
8 trong ví dụ trên, thì có thể thực hiện như sau

import Game.Level.start

Bây giờ, nếu mô-đun này chứa một chức năng có tên là

Game.Level.start.select_difficulty(2)
0, chúng ta phải sử dụng tên đầy đủ để tham chiếu nó

Game.Level.start.select_difficulty(2)

Nhập không có tiền tố gói

Nếu cấu trúc này có vẻ dài dòng, chúng ta có thể nhập mô-đun mà không cần tiền tố gói như sau

from Game.Level import start

Bây giờ chúng ta có thể gọi hàm đơn giản như sau

start.select_difficulty(2)

Chỉ nhập chức năng bắt buộc

Một cách khác để chỉ nhập chức năng được yêu cầu (hoặc lớp hoặc biến) từ một mô-đun trong một gói sẽ như sau

from Game.Level.start import select_difficulty

Bây giờ chúng ta có thể gọi trực tiếp chức năng này

select_difficulty(2)

Mặc dù dễ dàng hơn nhưng phương pháp này không được khuyến khích. Sử dụng không gian tên đầy đủ để tránh nhầm lẫn và ngăn hai tên định danh giống nhau va chạm

Trong khi nhập các gói, Python tìm trong danh sách các thư mục được xác định trong

Game.Level.start.select_difficulty(2)
1, tương tự như đối với đường dẫn tìm kiếm mô-đun

Chúng tôi thường tổ chức các tệp của mình trong các thư mục và thư mục con khác nhau dựa trên một số tiêu chí để có thể quản lý chúng một cách dễ dàng và hiệu quả. Ví dụ: chúng tôi giữ tất cả các trò chơi của mình trong thư mục Trò chơi và thậm chí chúng tôi có thể phân loại phụ theo thể loại của trò chơi hoặc đại loại như thế này. Sự tương tự tương tự được theo sau bởi gói Python.  

Một mô-đun Python có thể chứa một số lớp, hàm, biến, v.v. trong khi gói Python có thể chứa một số mô-đun. Nói một cách đơn giản hơn, một gói là thư mục chứa nhiều mô-đun khác nhau dưới dạng tệp

Tạo gói

Hãy tạo một gói có tên mypckg sẽ chứa hai mô-đun mod1 và mod2. Để tạo mô-đun này, hãy làm theo các bước dưới đây –

  • Tạo một thư mục có tên mypckg
  • Trong thư mục này, tạo một tệp Python trống i. e. __trong đó__. py
  • Sau đó tạo 2 module mod1 và mod2 trong thư mục này

Mod1. py

Python3




Game.Level.start.select_difficulty(2)
9
from Game.Level import start
0

from Game.Level import start
1
from Game.Level import start
2
from Game.Level import start
3
from Game.Level import start
4
import package_name.module_name
0

Mod2. py

Python3




Game.Level.start.select_difficulty(2)
9
import package_name.module_name
2
import package_name.module_name
3

from Game.Level import start
1
import package_name.module_name
5
import package_name.module_name
6
import package_name.module_name
7
import package_name.module_name
8

Hệ thống phân cấp của gói của chúng tôi trông như thế này -

Game.Level.start.select_difficulty(2)
5

Hiểu __init__. py

__trong đó__. py giúp trình thông dịch Python nhận ra thư mục dưới dạng gói. Nó cũng chỉ định các tài nguyên được nhập từ các mô-đun. Nếu __init__. py trống, điều này có nghĩa là tất cả các chức năng của mô-đun sẽ được nhập. Chúng tôi cũng có thể chỉ định các chức năng từ mỗi mô-đun sẽ được cung cấp

Ví dụ: chúng ta cũng có thể tạo __init__. py cho mô-đun trên dưới dạng -

__trong đó__. py

Python3




import package_name.module_name
9
Game.Level.start.select_difficulty(2)
70
Game.Level.start.select_difficulty(2)
71
Game.Level.start.select_difficulty(2)
72

import package_name.module_name
9
Game.Level.start.select_difficulty(2)
74____171
import package_name.module_name
2

__init__ này. py sẽ chỉ cho phép nhập các hàm gfg và sum từ các mô-đun mod1 và mod2

Nhập mô-đun từ gói

Chúng ta có thể nhập các mô-đun này bằng cách sử dụng câu lệnh from…import và dấu chấm(. ) nhà điều hành.  

cú pháp

________số 8

Ví dụ. Nhập mô-đun từ gói

Chúng tôi sẽ nhập các mô-đun từ gói đã tạo ở trên và sẽ sử dụng các chức năng bên trong các mô-đun đó

Các gói Python là gì?

Gói python là tập hợp các mô-đun . Các mô-đun có liên quan với nhau chủ yếu được đặt trong cùng một gói. Khi một mô-đun từ một gói bên ngoài được yêu cầu trong một chương trình, gói đó có thể được nhập và các mô-đun của nó có thể được đưa vào sử dụng.

Có bao nhiêu gói trong thư viện Python tiêu chuẩn?

Thư viện chuẩn Python bao gồm hơn 200 mô-đun lõi.

Có bao nhiêu gói trong Pip?

Tính đến ngày 17 tháng 1 năm 2022, hơn 350.000 gói Python có thể được truy cập thông qua PyPI.

Gói Python nào là tốt nhất?

10 thư viện Python hàng đầu cho khoa học dữ liệu .
TenorFlow
NumPy
khoa học viễn tưởng
gấu trúc
Matplotlib
máy ảnh
SciKit-Tìm hiểu
PyTorch