Hướng dẫn why do we use package in python? - tại sao chúng tôi sử dụng gói trong python?

Chúng tôi tổ chức một số lượng lớn các tệp trong các thư mục và thư mục con khác nhau dựa trên một số tiêu chí, để chúng tôi có thể tìm và quản lý chúng một cách dễ dàng. Theo cách tương tự, một gói trong Python lấy khái niệm về cách tiếp cận mô -đun đến mức logic tiếp theo. Như bạn đã biết, một mô -đun có thể chứa nhiều đối tượng, chẳng hạn như các lớp, chức năng, v.v. Một gói có thể chứa một hoặc nhiều mô -đun có liên quan. Về mặt vật lý, một gói thực sự là một thư mục chứa một hoặc nhiều tệp mô -đun.

Hãy tạo một gói có tên MyPackage, sử dụng các bước sau:

  • Tạo một thư mục mới có tên D:\MyApp.
  • Bên trong MyApp, tạo một thư mục con với tên 'MyPackage'.
  • Tạo một tệp __init__.py trống trong thư mục MyPackage.
  • Sử dụng trình soạn thảo nhận biết Python như IDLE, hãy tạo các mô-đun chào hỏi và chức năng.py với mã sau:

def SayHello(name):
    print("Hello ", name)

def sum(x,y):
    return x+y

def average(x,y):
    return (x+y)/2

def power(x,y):
    return x**y

Đó là nó. Chúng tôi đã tạo gói của chúng tôi được gọi là MyPackage. Sau đây là cấu trúc thư mục:

Hướng dẫn why do we use package in python? - tại sao chúng tôi sử dụng gói trong python?
Cấu trúc thư mục gói

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

Bây giờ, để kiểm tra gói của chúng tôi, điều hướng dấu nhắc lệnh đến thư mục MyApp và gọi dấu nhắc Python từ đó.

D: \ MyApp> Python

Nhập mô -đun chức năng từ gói MyPackage và gọi hàm Power () của nó.

>>> Từ các chức năng nhập mypackage >>> Các chức năng.Power (3,2) 9
>>> functions.power(3,2)
9

Cũng có thể nhập các chức năng cụ thể từ một mô -đun trong gói.

>>> Từ mypackage. không được xác định
>>> sum(10,20)
30
>>> average(10,12)
Traceback (most recent call last):
File "", line 1, in
NameError: name 'average' is not defined

__init__.py

Thư mục gói chứa một tệp đặc biệt có tên __init__.py, lưu trữ nội dung của gói. Nó phục vụ hai mục đích:

  1. Trình thông dịch Python nhận ra một thư mục là gói nếu nó chứa tệp __init__.py.
  2. __init__.py hiển thị các tài nguyên được chỉ định từ các mô -đun của nó sẽ được nhập.

Một tệp __init__.py trống làm cho tất cả các chức năng từ các mô -đun trên có sẵn khi gói này được nhập. Lưu ý rằng __init__.py là điều cần thiết để thư mục được Python nhận ra là một gói. Bạn có thể tùy chọn xác định các chức năng từ các mô -đun riêng lẻ sẽ được cung cấp.

Chúng tôi cũng sẽ tạo một tập lệnh Python khác trong thư mục MyApp và nhập gói MyPackage trong đó. Nó nên ở cùng cấp của gói được nhập.

Tệp __init__.py thường được giữ trống. Tuy nhiên, nó cũng có thể được sử dụng để chọn các chức năng cụ thể từ các mô -đun trong thư mục gói và cung cấp chúng để nhập. Sửa đổi __init__.py như dưới đây:

from .functions import average, power
from .greet import SayHello

Các chức năng được chỉ định hiện có thể được nhập trong phiên phiên dịch hoặc tập lệnh thực thi khác.

Tạo

def sum(x,y):
    return x+y

def average(x,y):
    return (x+y)/2

def power(x,y):
    return x**y
7 trong thư mục MyApp để kiểm tra MyPackage.

from mypackage import power, average, SayHello
SayHello()
x=power(3,2)
print("power(3,2) : ", x)

Lưu ý rằng các chức năng

def sum(x,y):
    return x+y

def average(x,y):
    return (x+y)/2

def power(x,y):
    return x**y
9 và
from .functions import average, power
from .greet import SayHello
0 được nhập từ gói chứ không phải từ các mô -đun tương ứng của chúng, như được thực hiện trước đó. Đầu ra của tập lệnh trên là:

D: \ MyApp> Python Test.Py Hello World Power (3,2): 9
Hello world
power(3,2) : 9

Cài đặt một gói trên toàn cầu

Khi một gói được tạo, nó có thể được cài đặt để sử dụng toàn hệ thống bằng cách chạy tập lệnh thiết lập. Tập lệnh gọi hàm

from .functions import average, power
from .greet import SayHello
1 từ mô -đun
from .functions import average, power
from .greet import SayHello
2.

Hãy cài đặt MyPackage để sử dụng toàn hệ thống bằng cách chạy tập lệnh thiết lập.

Lưu mã sau dưới dạng setup.py trong thư mục cha MyApp. Tập lệnh gọi hàm

from .functions import average, power
from .greet import SayHello
1 từ mô -đun setuptools. Hàm
from .functions import average, power
from .greet import SayHello
1 có nhiều đối số khác nhau như tên, phiên bản, tác giả, danh sách các phụ thuộc, v.v ... Đối số
from .functions import average, power
from .greet import SayHello
6 có xác định xem gói được cài đặt ở chế độ nén hoặc chế độ thông thường hay không.

from setuptools import setup
setup(name='mypackage',
version='0.1',
description='Testing installation of Package',
url='#',
author='auth',
author_email='[email protected]',
license='MIT',
packages=['mypackage'],
zip_safe=False)

Bây giờ thực hiện lệnh sau để cài đặt

from .functions import average, power
from .greet import SayHello
7 bằng tiện ích PIP. Đảm bảo rằng dấu nhắc lệnh nằm trong thư mục cha mẹ, trong trường hợp này là D:\MyApp.

D: \ MyApp> Pip Cài đặt xử lý MyPackage D: \ MyApp Cài đặt các gói được thu thập: MYPACK RUN RUN
Processing d:\MyApp
Installing collected packages: mypack
Running setup.py install for mypack ... done
Successfully installed mypackage-0.1

Bây giờ MyPackage có sẵn để sử dụng toàn hệ thống và có thể được nhập trong bất kỳ tập lệnh hoặc trình thông dịch nào.

D: \> Python >>> Nhập MyPackage >>> MyPackage.Verage (10,20) 15.0 >>> MyPackage.Power (10,2) 100
>>> import mypackage
>>>mypackage.average(10,20)
15.0
>>>mypackage.power(10,2)
100

Bạn cũng có thể muốn xuất bản gói để sử dụng công cộng. PYPI (viết tắt của Gói Python Index) là một kho lưu trữ các gói Python. Truy cập https://packaging.python.org/distributing để biết thêm về quy trình tải gói lên PYPI.

Làm thế nào để các gói hoạt động trong Python?

Một gói là hình thức của một bộ sưu tập các công cụ giúp bắt đầu mã. Gói Python hoạt động như một giao diện biến người dùng cho bất kỳ mã nguồn nào. Điều này làm cho gói Python hoạt động tại một thời điểm xác định cho bất kỳ mã hoạt động nào trong thời gian chạy.acts as a user-variable interface for any source code. This makes a python package work at a defined time for any functionable code in the runtime.

Những gói nào quan trọng đối với Python?

Mười gói khoa học dữ liệu cần thiết cho Python..
SCIKIT-LEARN.Scikit-Learn là một mô-đun Python cho học máy được xây dựng trên đỉnh của Scipy và Numpy.....
Pytorch.Pytorch làm hai điều rất tốt.....
Caffe.....
Tensorflow.....
Theano.....
Gấu trúc.....
Keras.....
NumPy..

Làm cách nào để sử dụng các gói Python trong Python?

Thực hiện theo các bước dưới đây để tạo một gói trong Python Tạo một thư mục và bao gồm một tệp __init__.py trong đó để nói với Python rằng thư mục hiện tại là một gói.Bao gồm các gói phụ hoặc tệp khác mà bạn muốn.Tiếp theo, truy cập chúng với các báo cáo nhập hợp lệ.Create a directory and include a __init__.py file in it to tell Python that the current directory is a package. Include other sub-packages or files you want. Next, access them with the valid import statements.

Việc sử dụng các mô -đun và gói trong Python là gì?

Mô -đun là một tệp Python đơn giản chứa các bộ sưu tập các chức năng và biến toàn cầu và có a.Tệp mở rộng PY.Đây là một tệp thực thi và để tổ chức tất cả các mô -đun, chúng tôi có khái niệm gọi là gói trong Python.to organize all the modules we have the concept called Package in Python.