× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Module trong Python - Nằm lòng kiến thức về Module trong Python

17/06/2021 01:54

(Module trong Python ) Là một kim chỉ nam hỗ trợ lập trình viên trong quá trình làm việc. Module trong Python là yếu tố bạn cần nắm rõ. Trong bài viết này, chúng ta sẽ tìm hiểu về Module nâng cao trong Python cùng cách tạo và nhập Module trong Python. 

 

Module trong Python là gì?

Về bản chất Module trong Python chỉ là một đoạn mã trong Python. Thông thường việc thoát khỏi trình thông dịch sẽ hủy tất cả các hàm và biến chúng ta đã tạo. Nhưng khi chúng ta muốn một chương trình dài hơn, chúng ta sẽ phải tạo một đoạn script khác. 

một mô-đun là một tệp chứa các câu lệnh và định nghĩa Python

Một mô-đun là một tệp chứa các câu lệnh và định nghĩa Python

Với Python, chúng ta có thể đặt các định nghĩa như vậy trong một tệp và sử dụng chúng trong một tập lệnh hoặc trong một phiên bản tương tác của trình thông dịch. Một tệp như vậy là một mô-đun. Về bản chất, một mô-đun là một tệp chứa các câu lệnh và định nghĩa Python. Một mô-đun Python trông như thế này:

calc.py

>>> Đọc thêm: CGI trong Python - Giải mã kiến thức về CGI trong lập trình với Python

Cách nhập module trong Python 

Lệnh import

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 hiện câu lệnh nhập trong một số tệp nguồn Python khác. Việc nhập có cú pháp sau:

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

Khi trình thông dịch gặp một 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 mô-đun support.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 nó được nhập. Điều này ngăn việc thực thi mô-đun lặp đi lặp lại nếu nhiều lần nhập xảy ra.

Lệnh from … import 

Câu lệnh from 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. Các từ ... nhập khẩu có cú pháp như 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ộ mô-đun fib vào không gian tên hiện tại; nó chỉ giới thiệu mục fibonacci từ mô-đun fib vào bảng ký hiệu chung của mô-đun nhập.

>>> Đọc thêm: Tái cấu trúc lại mã Python - Lộ diện 6 cách cấu trúc lại mã Python

Cách xác định module trong Python

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

  • Thư mục hiện tại.
  • Nếu mô-đun không được tìm thấy, thì 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 biến sys.path. Biến sys.path chứa thư mục hiện tại, PYTHONPATH và mặc định phụ thuộc vào cài đặt.

>>> Tham khảo: Khóa học lập trình Python

Không gian tên và phạm vi module trong Python

Biến là tên (định danh) ánh xạ tới các đối tượng. Không gian tên là một từ điển của 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 một biến cục bộ và một 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ủa nó. Các phương thức lớp tuân theo quy tắc xác định phạm vi giống như các hàm thông thường.

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

Do đó, để 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 global 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 ta xác định một biến Money trong không gian tên chung. Trong hàm Money , chúng ta gán cho Money một giá trị, do đó Python giả định Money là một biến cục bộ. Tuy nhiên, chúng ta đã truy cập giá trị của biến cục bộ Money trước khi đặt nó, vì vậy kết quả là một UnboundLocalError. Bỏ chú thích câu lệnh toàn cục sẽ khắc phục đượ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

Ưu điểm của việc sử dụng Module trong Python

Mô-đun được sử dụng để giảm bớt các câu lệnh thừa trong một chương trình. Nó tiết kiệm thời gian và tăng khả năng đọc cũng như năng suất. Chúng cũng được sử dụng để mở rộng chức năng của Python và cho phép các nhà phát triển khác nhau trên khắp thế giới làm việc một cách đồng bộ.

Ví dụ: Google đã phát triển Tensorflow, chứa các chức năng dành cho deep learning và sẵn sàng nhận các đóng góp từ nhiều năm qua. Nó là một mô-đun mã nguồn mở để nhiều người từ các vùng khác nhau trên thế giới có thể tham gia và cải thiện phạm vi của các ứng dụng deep learning

Kết luận: Module trong Python là một yếu tố quan trọng hỗ trợ lập trình viên đẩy nhanh tốc độ dự án. Bạn nên sử dụng thành thạo module để dễ dàng làm việc với các dự án hơn. Tìm hiểu thêm về Python và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H.