5 mô-đun trong Python là gì?

Một mô-đun cho phép bạn sắp xếp hợp lý mã Python của mình. Nhóm mã liên quan vào một mô-đun giúp mã dễ hiểu và dễ sử dụng hơn. Mô-đun là một đối tượng Python với các thuộc tính được đặt tên tùy ý mà bạn có thể liên kết và tham chiếu

Đơn giản, một mô-đun là một tệp bao gồm mã Python. Một mô-đun có thể định nghĩa các hàm, lớp và biến. Một mô-đun cũng có thể bao gồm mã có thể chạy được

Ví dụ

Mã Python cho mô-đun có tên aname thường nằm trong tệp có tên aname. py. Đây là một ví dụ về một mô-đun đơn giản, hỗ trợ. py

def print_func[ par ]:
   print "Hello : ", par
   return

Tuyên bố nhập khẩu

Bạn có thể sử dụng bất kỳ tệp nguồn Python nào làm mô-đun bằng cách thực thi câu lệnh nhập trong một số tệp nguồn Python khác. Quá trình nhập có cú pháp sau -

import module1[, module2[,.. moduleN]

Khi trình thông dịch gặp câu lệnh nhập, nó sẽ nhập mô-đun nếu mô-đun có trong đường dẫn tìm kiếm. Đường dẫn tìm kiếm là danh sách các thư mục mà trình thông dịch tìm kiếm trước khi nhập mô-đun. Ví dụ: để nhập hỗ trợ mô-đun. py, bạn cần đặt lệnh sau ở đầu tập lệnh -

#!/usr/bin/python

# Import module support
import support

# Now you can call defined function that module as follows
support.print_func["Zara"]

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

Hello : Zara

Một mô-đun chỉ được tải một lần, bất kể số lần được nhập. Điều này ngăn quá trình thực thi mô-đun diễn ra lặp đi lặp lại nếu xảy ra nhiều lần nhập

từ. Tuyên bố nhập khẩu

Câu lệnh from của Python cho phép bạn nhập các thuộc tính cụ thể từ một mô-đun vào không gian tên hiện tại. từ. nhập khẩu có cú pháp sau -

from modname import name1[, name2[, .. nameN]]

Ví dụ: để nhập hàm fibonacci từ mô-đun fib, hãy sử dụng câu lệnh sau -

from fib import fibonacci

Câu lệnh này không nhập toàn bộ sợi mô-đun vào không gian tên hiện tại;

từ. nhập khẩu * Tuyên bố

Cũng có thể nhập tất cả các tên từ một mô-đun vào không gian tên hiện tại bằng cách sử dụng câu lệnh nhập sau -

from modname import *

Điều này cung cấp một cách dễ dàng để nhập tất cả các mục từ một mô-đun vào không gian tên hiện tại;

định vị mô-đun

Khi bạn nhập một mô-đun, trình thông dịch Python sẽ tìm kiếm mô-đun theo trình tự sau –

  • Thư mục hiện tại

  • Nếu không tìm thấy mô-đun, Python sẽ tìm kiếm từng thư mục trong biến shell PYTHONPATH

  • Nếu vẫn thất bại, Python sẽ kiểm tra đường dẫn mặc định. Trên UNIX, đường dẫn mặc định này thường là /usr/local/lib/python/

Đường dẫn tìm kiếm mô-đun được lưu trữ trong sys mô-đun hệ thống dưới dạng sys. biến đường dẫn. hệ thống. biến đường dẫn chứa thư mục hiện tại, PYTHONPATH và mặc định phụ thuộc vào cài đặt

Biến PYTHONPATH

PYTHONPATH là một biến môi trường, bao gồm một danh sách các thư mục. Cú pháp của PYTHONPATH giống với cú pháp của biến hệ vỏ PATH

Đây là một PYTHONPATH điển hình từ hệ thống Windows -

set PYTHONPATH = c:\python20\lib;

Và đây là một PYTHONPATH điển hình từ hệ thống UNIX -

________số 8

Không gian tên và Phạm vi

Biến là tên [số nhận dạng] ánh xạ tới các đối tượng. Một không gian tên là một từ điển các tên biến [khóa] và các đối tượng [giá trị] tương ứng của chúng

Một câu lệnh Python có thể truy cập các biến trong không gian tên cục bộ và trong không gian tên chung. Nếu biến cục bộ và biến toàn cục có cùng tên thì biến cục bộ sẽ che khuất biến toàn cục

Mỗi hàm có không gian tên cục bộ riêng. Các phương thức lớp tuân theo quy tắc phạm vi giống như các hàm thông thường

Python đưa ra các phỏng đoán có giáo dục về việc các biến là cục bộ hay toàn cầu. Nó giả định rằng bất kỳ biến nào được gán một giá trị trong một hàm là cục bộ

Vì vậy, để gán giá trị cho một biến toàn cục trong một hàm, trước tiên bạn phải sử dụng câu lệnh toàn cục

Câu lệnh toàn cầu VarName cho Python biết rằng VarName là một biến toàn cục. Python ngừng tìm kiếm không gian tên cục bộ cho biến

Ví dụ: chúng tôi xác định một biến Tiền trong không gian tên chung. Trong hàm Money, chúng ta gán cho Money một giá trị, do đó Python coi Money là một biến cục bộ. Tuy nhiên, chúng tôi đã truy cập giá trị của biến cục bộ Money trước khi đặt nó, do đó, kết quả là UnboundLocalError. Bỏ ghi chú câu lệnh chung khắc phục sự cố

#!/usr/bin/python

Money = 2000
def AddMoney[]:
   # Uncomment the following line to fix the code:
   # global Money
   Money = Money + 1

print Money
AddMoney[]
print Money

Hàm dir[]

Hàm tích hợp dir[] trả về một danh sách các chuỗi được sắp xếp có chứa các tên được xác định bởi một mô-đun

Danh sách chứa tên của tất cả các mô-đun, biến và hàm được xác định trong một mô-đun. Sau đây là một ví dụ đơn giản -

import module1[, module2[,.. moduleN]
0

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

import module1[, module2[,.. moduleN]
1

Ở đây, biến chuỗi đặc biệt __name__ là tên của mô-đun và __file__ là tên tệp mà mô-đun được tải từ đó

Các hàm globals[] vàlocals[]

Các hàm globals[] và locals[] có thể được sử dụng để trả về các tên trong không gian tên toàn cầu và cục bộ tùy thuộc vào vị trí mà chúng được gọi

Nếu locals[] được gọi từ bên trong một hàm, nó sẽ trả về tất cả các tên có thể được truy cập cục bộ từ hàm đó

Nếu globals[] được gọi từ bên trong một hàm, nó sẽ trả về tất cả các tên có thể được truy cập trên toàn cầu từ hàm đó

Kiểu trả về của cả hai hàm này là từ điển. Do đó, các tên có thể được trích xuất bằng hàm keys[]

Hàm tải lại []

Khi mô-đun được nhập vào tập lệnh, mã ở phần cấp cao nhất của mô-đun chỉ được thực thi một lần

Do đó, nếu bạn muốn thực thi lại mã cấp cao nhất trong một mô-đun, bạn có thể sử dụng hàm reload[]. Hàm reload[] nhập lại mô-đun đã nhập trước đó. Cú pháp của hàm reload[] là thế này -

import module1[, module2[,.. moduleN]
2

Ở đây, module_name là tên của module bạn muốn tải lại chứ không phải chuỗi chứa tên module. Ví dụ: để tải lại mô-đun hello, hãy làm như sau -

import module1[, module2[,.. moduleN]
3

Các gói trong Python

Gói là cấu trúc thư mục tệp phân cấp xác định một môi trường ứng dụng Python duy nhất bao gồm các mô-đun và gói con và gói con phụ, v.v.

Xem xét một tập tin Pots. py có sẵn trong thư mục Điện thoại. Tệp này có dòng mã nguồn sau -

import module1[, module2[,.. moduleN]
4

Tương tự như vậy, chúng ta có hai tệp khác có các chức năng khác nhau có cùng tên như trên -

  • Điện thoại/Isdn. tệp py có chức năng Isdn[]

  • Điện thoại/G3. tệp py có chức năng G3[]

Bây giờ, hãy tạo thêm một tệp __init__. py trong thư mục Điện thoại -

Để cung cấp tất cả các chức năng của bạn khi bạn đã nhập Điện thoại, bạn cần đặt các câu lệnh nhập rõ ràng vào __init__. py như sau -

import module1[, module2[,.. moduleN]
5

Sau khi bạn thêm những dòng này vào __init__. py, bạn có sẵn tất cả các lớp này khi nhập gói Điện thoại

import module1[, module2[,.. moduleN]
6

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

import module1[, module2[,.. moduleN]
7

Trong ví dụ trên, chúng tôi đã lấy ví dụ về một chức năng duy nhất trong mỗi tệp, nhưng bạn có thể giữ nhiều chức năng trong tệp của mình. Bạn cũng có thể định nghĩa các lớp Python khác nhau trong các tệp đó và sau đó bạn có thể tạo các gói của mình từ các lớp đó

Các mô-đun trong Python là gì?

Một mô-đun Python là tệp chứa các định nghĩa và câu lệnh Python . Một mô-đun có thể định nghĩa các hàm, lớp và biến. Một mô-đun cũng có thể bao gồm mã có thể chạy được. Nhóm mã liên quan vào một mô-đun giúp mã dễ hiểu và dễ sử dụng hơn.

Các loại mô-đun trong Python là gì?

Bốn mô-đun [ mod1. py , mod2. py , mod3. py và mod4. py ] được định nghĩa như trước đây.

Có bao nhiêu mô-đun trong Python?

Thư viện chuẩn Python chứa hơn 200 mô-đun, mặc dù con số chính xác khác nhau giữa các bản phân phối.

Các ví dụ về mô-đun Python là gì?

Mô-đun Python .
Lưu mã này vào tệp có tên mymodule. py. .
Nhập mô-đun có tên mymodule và gọi hàm chào. .
Lưu mã này vào tệp mymodule. py. .
Nhập mô-đun có tên mymodule và truy cập từ điển person1. .
Tạo bí danh cho mymodule gọi là mx. .
Nhập và sử dụng mô-đun nền tảng

Chủ Đề