Một gói trong python đưa ra một ví dụ là gì?

Các gói là một khối xây dựng thiết yếu trong lập trình. Nếu không có các gói, chúng tôi sẽ dành nhiều thời gian để viết mã đã được viết sẵn. Hãy tưởng tượng bạn phải viết mã từ đầu mỗi khi bạn muốn phân tích một tệp theo một định dạng cụ thể. Bạn sẽ không bao giờ hoàn thành được việc gì. Đó là lý do tại sao chúng tôi luôn muốn sử dụng các gói

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn thuật ngữ của các mô-đun và gói Python, trước khi chỉ cho bạn cách cài đặt và sử dụng các gói trong mã Python của bạn. Sau đó, chúng tôi sẽ đề cập đến cách tạo các gói Python của riêng bạn và khám phá một số quả trứng Phục sinh. Hãy nhảy ngay vào

Gói Python là gì?

Để hiểu các gói Python, chúng ta sẽ xem xét ngắn gọn các tập lệnh và mô-đun. “Tập lệnh” là thứ bạn thực thi trong trình bao để hoàn thành một tác vụ đã xác định. Để viết một tập lệnh, bạn phải nhập mã vào trình soạn thảo văn bản yêu thích của mình và lưu nó bằng. phần mở rộng py. Sau đó, bạn có thể sử dụng lệnh python trong terminal để thực thi tập lệnh của mình.  

Mặt khác, một mô-đun là một chương trình Python mà bạn nhập vào hoặc vào các chương trình khác của mình. “Mô-đun” thực sự là một thuật ngữ chung cho mã có thể tái sử dụng

Một gói Python thường bao gồm một số mô-đun. Về mặt vật lý, một gói là một thư mục chứa các mô-đun và có thể các thư mục khác mà chính chúng có thể chứa nhiều thư mục và mô-đun hơn. Về mặt khái niệm, đó là một không gian tên. Điều này đơn giản có nghĩa là các mô-đun của gói được liên kết với nhau bằng tên gói, theo đó chúng có thể được tham chiếu

Quay trở lại định nghĩa trước đó của chúng tôi về mô-đun là mã có thể nhập, có thể tái sử dụng, chúng tôi lưu ý rằng mọi gói đều là một mô-đun — nhưng không phải mọi mô-đun đều là một gói. Một thư mục gói thường chứa một tệp có tên __init__. py về cơ bản nói với Python. “Này, thư mục này là một gói. ” Tệp init có thể trống hoặc có thể chứa mã sẽ được thực thi khi khởi tạo gói

Chắc hẳn bạn cũng đã bắt gặp thuật ngữ “thư viện”. Đối với Python, một thư viện không được định nghĩa rõ ràng như một gói hoặc một mô-đun, nhưng một nguyên tắc nhỏ là bất cứ khi nào một gói được xuất bản, nó có thể được gọi là thư viện.

Cách sử dụng gói Python

Chúng tôi đã đề cập đến không gian tên, xuất bản gói và nhập mô-đun. Nếu bất kỳ thuật ngữ hoặc khái niệm nào trong số này không hoàn toàn rõ ràng đối với bạn, chúng tôi đã giúp bạn. Trong phần này, chúng tôi sẽ đề cập đến mọi thứ bạn cần để thực sự nắm bắt quy trình sử dụng các gói Python trong mã của mình.  

Nhập gói Python

Chúng tôi sẽ nhập một gói bằng câu lệnh nhập

Giả sử rằng chúng tôi chưa cài đặt bất kỳ gói nào. Python đi kèm với một bộ sưu tập lớn các gói được cài đặt sẵn được gọi là Thư viện chuẩn Python. Nó bao gồm các công cụ cho nhiều trường hợp sử dụng, chẳng hạn như xử lý văn bản và làm toán. Hãy nhập cái sau

Bạn có thể coi câu lệnh nhập như một công cụ kích hoạt tìm kiếm cho một mô-đun. Các cuộc tìm kiếm được tổ chức chặt chẽ. Lúc đầu, Python tìm kiếm một mô-đun trong bộ đệm, sau đó trong thư viện chuẩn và cuối cùng trong danh sách các đường dẫn. Danh sách này có thể được truy cập sau khi nhập sys (một mô-đun thư viện tiêu chuẩn khác)

hệ thống. lệnh đường dẫn trả về tất cả các thư mục mà Python sẽ cố gắng tìm một gói. Có thể xảy ra trường hợp bạn đã tải xuống một gói nhưng khi bạn thử nhập gói đó, bạn sẽ gặp lỗi

Trong những trường hợp như vậy, hãy kiểm tra xem gói đã nhập của bạn đã được đặt vào một trong các đường dẫn tìm kiếm của Python chưa. Nếu không, bạn luôn có thể mở rộng danh sách đường dẫn tìm kiếm của mình

Tại thời điểm đó, trình thông dịch sẽ có nhiều hơn một vị trí để tìm kiếm các gói sau khi nhận được câu lệnh nhập.  

Không gian tên và bí danh

Khi chúng tôi đã nhập mô-đun toán học, chúng tôi đã khởi tạo không gian tên toán học. Điều này có nghĩa là giờ đây chúng ta có thể tham chiếu đến các hàm và lớp từ mô-đun toán học bằng cách “ký hiệu dấu chấm”

Giả sử rằng chúng tôi chỉ quan tâm đến chức năng giai thừa của mô-đun toán học của chúng tôi và chúng tôi cũng cảm thấy mệt mỏi với việc sử dụng ký hiệu dấu chấm. Trong trường hợp đó, chúng ta có thể tiến hành như sau

Nếu bạn muốn nhập nhiều tài nguyên từ cùng một nguồn, bạn chỉ cần phân tách chúng bằng dấu phẩy trong câu lệnh nhập

Tuy nhiên, luôn có một rủi ro nhỏ là các biến của bạn sẽ xung đột với các biến khác trong không gian tên của bạn. Điều gì sẽ xảy ra nếu một trong các biến trong mã của bạn cũng được đặt tên là nhật ký? . Để tránh điều đó, tốt hơn là nhập gói như chúng tôi đã làm trước đây. Nếu bạn muốn tiết kiệm thời gian đánh máy, bạn có thể đặt bí danh cho gói của mình để đặt tên ngắn hơn

Bí danh là một kỹ thuật khá phổ biến. Một số gói có bí danh thường được sử dụng. Chẳng hạn, thư viện tính toán số NumPy hầu như luôn được nhập dưới dạng “np. ”

Một tùy chọn khác là nhập tất cả tài nguyên của mô-đun vào không gian tên của bạn

Tuy nhiên, phương pháp này tiềm ẩn rủi ro nghiêm trọng vì bạn thường không biết tất cả các tên có trong một gói, làm tăng khả năng các biến của bạn bị ghi đè. Vì lý do này mà hầu hết các lập trình viên Python dày dạn kinh nghiệm sẽ không khuyến khích sử dụng ký tự đại diện * trong nhập khẩu. Ngoài ra, như Zen of Python đã nói, “không gian tên là một ý tưởng tuyệt vời. ”

Cách cài đặt gói Python

Làm thế nào về các gói không phải là một phần của thư viện tiêu chuẩn? . Để cài đặt các gói từ PyPI, hãy sử dụng trình cài đặt gói pip

pip có thể cài đặt các gói Python từ bất kỳ nguồn nào, không chỉ PyPI. Nếu bạn đã cài đặt Python bằng Anaconda hoặc , bạn cũng có thể sử dụng lệnh conda để cài đặt các gói Python

Mặc dù conda rất dễ sử dụng, nhưng nó không linh hoạt như pip. Vì vậy, nếu bạn không thể cài đặt gói bằng conda, thay vào đó, bạn luôn có thể thử pip

Tải lại một mô-đun

Nếu bạn đang lập trình ở chế độ tương tác và bạn thay đổi tập lệnh của mô-đun, những thay đổi này sẽ không được nhập, ngay cả khi bạn đưa ra một câu lệnh nhập khác. Trong trường hợp như vậy, bạn sẽ muốn sử dụng hàm reload() từ thư viện importlib

Cách tạo gói Python của riêng bạn

Đóng gói mã của bạn để sử dụng tiếp không nhất thiết có nghĩa là bạn muốn xuất bản mã đó lên PyPI. Có thể bạn chỉ muốn chia sẻ nó với bạn bè hoặc tự mình sử dụng lại. Dù mục đích của bạn là gì, có một số tệp mà bạn nên đưa vào dự án của mình. Chúng tôi đã đề cập đến __init__. tập tin py.  

Một tệp quan trọng khác là thiết lập. py. Sử dụng gói setuptools, tệp này cung cấp thông tin chi tiết về dự án của bạn và liệt kê tất cả các phụ thuộc — các gói mà mã của bạn yêu cầu để chạy đúng cách.  

Xuất bản lên PyPI nằm ngoài phạm vi của hướng dẫn giới thiệu này. Nhưng nếu bạn có một gói để phân phối, dự án của bạn nên bao gồm thêm hai tệp nữa. một README. md được viết bằng Markdown và giấy phép. Hãy xem Hướng dẫn sử dụng bao bì Python (PyPUG) chính thức nếu bạn muốn biết thêm

Một số trứng Phục sinh nhập khẩu

Trứng Phục sinh là những món quà ẩn giấu giúp cuộc sống của nhà phát triển trở nên ngọt ngào hơn một chút. Có một vài trong số chúng được chôn trong thư viện chuẩn Python. Hãy thử nhập nhập cái này hoặc nhập phản trọng lực vào bảng điều khiển Python tương tác của bạn và tự mình xem

Tìm hiểu thêm

Là một lập trình viên Python, bạn sẽ cần biết tất cả về các mô-đun và gói. Hãy xem phần Giới thiệu về Nanodegree Lập trình của chúng tôi, nơi bạn sẽ đề cập đến nhiều chủ đề khác để nâng cao khả năng lập trình của mình

Gói trong Python với ví dụ là gì?

Một gói là thư mục chứa các mô-đun Python chứa __init__ bổ sung. py , giúp phân biệt một gói với một thư mục được cho là chứa nhiều tập lệnh Python. Các gói có thể được lồng vào nhiều độ sâu nếu mỗi thư mục tương ứng chứa __init__ của chính nó. tập tin py.

Gói trong Python bằng những từ đơn giản là gì?

Một gói Python thường bao gồm một số mô-đun. Về mặt vật lý, một gói là một thư mục chứa các mô-đun và có thể các thư mục khác mà bản thân chúng có thể chứa nhiều thư mục và mô-đun hơn . Về mặt khái niệm, đó là một không gian tên.

Các gói được sử dụng trong Python là gì?

10 gói Python hàng đầu năm 2021 .
NumPy
gấu trúc
Matplotlib
sinh ra biển
scikit-học
yêu cầu
urllib3

Chủ đề