Sự khác biệt giữa thư viện python và mô-đun là gì?

Trong bài viết của chúng tôi về Mô-đun Python so với Gói, chúng tôi đã thảo luận về chúng là gì và xem cách tạo mô-đun của riêng chúng tôi. Chúng tôi cũng đã thấy vị trí của chúng trong hệ thống tệp của chúng tôi. Nhưng xuyên suốt bài viết, chúng ta thấy rất nhiều điểm tương đồng với module. Do đó, chúng tôi dành bài viết này cho Sự khác biệt giữa các Mô-đun và Gói Python

Mô-đun Python so với Gói

2. Mô-đun Python là gì?

Một mô-đun là một tệp Python chứa các câu lệnh và định nghĩa Python. Ví dụ, một tập tin evenodd. py là một mô-đun và chúng tôi gọi nó là 'evenodd'. Chúng tôi đặt mã tương tự với nhau trong một mô-đun. Điều này giúp chúng tôi mô đun hóa mã của mình và giúp xử lý dễ dàng hơn nhiều. Và không chỉ vậy, một mô-đun cấp cho chúng tôi khả năng tái sử dụng. Với một mô-đun, chúng tôi không cần phải viết lại cùng một mã cho một dự án mới mà chúng tôi đảm nhận

Trong bài viết trước của chúng tôi, chúng tôi đã tạo một mô-đun chẵn lẻ trong gói hai. Đây là những gì thậm chí. py giữ

def check[]:
         a=int[input['Enter a number']]
         if a%2==0: print["Even"]
         else: print["Odd"]

a. Làm cách nào để nhập mô-đun Python?

Vì vậy, như bạn có thể thấy, một mô-đun chỉ chứa mã Python. Do đó, chúng ta có thể nhập nó, giống như một gói

>>> import one.two.evenodd
>>>

Để gọi hàm check[] ta làm như sau

>>> from one.two.evenodd import check
>>> check[]

Nhập một số7
Lẻ

>>>

Một ví dụ khác là hằng số 'pi' và 'e' từ mô-đun 'math'

>>> import math
>>> from math import pi
>>> math.pi

3. 141592653589793

>>> math.e

2. 718281828459045
Chúng tôi cũng có thể nhập bằng bí danh hoặc sử dụng từ. tuyên bố nhập khẩu, giống như chúng tôi làm với các gói. Để nhập mọi thứ từ một mô-đun, chúng tôi làm như sau.

>>> from math import *
>>> e

2. 718281828459045

>>> pi

3. 141592653589793

>>>

Hãy cập nhật evenodd. py có hai chức năng- check và evenodd

def check[]:
        a=int[input['Enter a number']]
        if a%2==0: print["Even"]
        else: print["Odd"]
def add[a,b]:
        return a+b

Bây giờ, nếu chúng ta muốn nhập tất cả các chức năng từ mô-đun evenodd, chúng ta chỉ cần sử dụng ký tự đại diện *

>>> import one.two.evenodd
>>>
0

Nhập số0
Chẵn

>>> import one.two.evenodd
>>>
1

7

b. Đường dẫn tìm kiếm

Khi chúng tôi nhập một mô-đun, trước tiên trình thông dịch sẽ tìm trong thư mục hiện tại. Sau đó, nó xem xét PYTHONPATH, một biến môi trường có danh sách các thư mục. Cuối cùng, nó xem xét thư mục mặc định phụ thuộc vào cài đặt

>>> import one.two.evenodd
>>>
2

C. \Users\lifei\AppData\Local\Programs\Python\Python36-32\Lib\idlelib

C. \Users\lifei\AppData\Local\Programs\Python\Python36-32\python36. khóa kéo

C. \Users\lifei\AppData\Local\Programs\Python\Python36-32\DLLs

C. \Users\lifei\AppData\Local\Programs\Python\Python36-32\lib

C. \Users\lifei\AppData\Local\Programs\Python\Python36-32

C. \Users\lifei\AppData\Local\Programs\Python\Python36-32\lib\site-packages

c. Tải lại Mô-đun Python

Một mô-đun chỉ được nhập một lần. Đây là vì mục đích hiệu quả. Hãy thêm mã này vào evenodd. py

>>> import one.two.evenodd
>>>
3

Bây giờ, hãy khởi động lại trình bao và nhập ba lần chẵn

>>> import one.two.evenodd
>>>
4

Đang tải

>>> import one.two.evenodd
>>>
5

Nhìn thấy? . Do đó, Python cung cấp cho chúng ta một chức năng cho phép chúng ta tải lại mô-đun khi chúng ta muốn. Đây là trong mô-đun 'imp'

>>> import one.two.evenodd
>>>
6

Đang tải evenodd

d. dir[]

Cuối cùng, dir[] sẽ cho phép chúng ta kiểm tra các thành phần của một module

>>> import one.two.evenodd
>>>
7

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'add', 'check' , 'num'] .
We saw this function when we talked about the Built-in Functions in Python.

3. Gói Python là gì?

Về bản chất, một gói giống như một thư mục chứa các gói con và mô-đun. Mặc dù chúng tôi có thể tạo các gói của riêng mình, nhưng chúng tôi cũng có thể sử dụng một gói từ Chỉ mục gói Python [PyPI] để sử dụng cho các dự án của mình

Để nhập một gói, chúng tôi gõ như sau

nhập khẩu trò chơi. Âm thanh. trọng tải

Chúng tôi cũng có thể nhập nó với bí danh

nhập khẩu trò chơi. Âm thanh. tải như tải trò chơi

Bạn không thể nhập một hàm bằng toán tử dấu chấm [. ] Đối với điều đó, bạn phải gõ cái này

từ trò chơi. Âm thanh. tải khối lượng nhập khẩu_up

Một gói phải có tệp __init__. py, ngay cả khi bạn để trống

Nhưng khi chúng tôi nhập một gói, chỉ các mô-đun ngay lập tức của nó được nhập, không phải các gói con. Nếu bạn cố truy cập vào chúng, nó sẽ gây ra AttributeError

Để hiểu sâu hơn về các gói, hãy kiểm tra Gói Python

4. Sự khác biệt giữa các mô-đun và gói Python

Vì vậy, bây giờ chúng tôi đã sửa đổi cả mô-đun và gói, hãy xem chúng khác nhau như thế nào

  1. Một mô-đun là một tệp chứa mã Python. Tuy nhiên, một gói giống như một thư mục chứa các gói con và mô-đun
  2. Một gói phải chứa tệp __init__. py. Điều này không áp dụng cho các mô-đun
  3. Để nhập mọi thứ từ một mô-đun, chúng tôi sử dụng ký tự đại diện *. Nhưng điều này không hoạt động với các gói

Đây là tất cả về bài viết trên Mô-đun Python so với Gói

5. Phần kết luận

Bây giờ chúng ta đã biết sự khác biệt tinh tế tồn tại giữa mô-đun và gói, hãy thử thách và thực hiện một dự án của riêng chúng ta. Hãy làm điều này để kiểm tra kỹ năng gói của chúng tôi?

Sự khác biệt giữa mô-đun và thư viện là gì?

[2] Thư viện là tập hợp các chức năng liên quan, trong khi mô-đun chỉ cung cấp một phần chức năng duy nhất . Điều đó có nghĩa là, nếu bạn có một hệ thống có cả mô-đun và thư viện, thì một thư viện thường sẽ chứa nhiều mô-đun.

Thư viện Python là gì?

Thư viện Python là tập hợp các mô-đun liên quan . Nó chứa các gói mã có thể được sử dụng nhiều lần trong các chương trình khác nhau. Nó làm cho Lập trình Python đơn giản và thuận tiện hơn cho lập trình viên.

Chủ Đề