Sử Dụng Module Trong Python

Module trong Python

Những thông tin hữu ích sẽ được tổng hợp chi tiết nhất để hỗ trợ dân lập trình trong việc nghiên cứu và tạo module trong các dự án sau này. Không những thế, người dùng sẽ nắm được nền tảng và ý tưởng triển khai module. Chúng ta phải làm gì để gọi module vừa mới tạo hay module được tích hợp sẵn trong ngôn ngữ lập trình Python.

Tuy nhiên, giả sử bạn mới bắt đầu chập chững học lập trình và chọn Python thì có thể sẽ gặp không ít khó khăn. Ngược lại, nếu bạn đã trải qua những ngôn ngữ khác thì việc tạo và sử dụng Module trong Python sẽ dễ dàng hơn. Sau đây, xin mời quý đọc giả trải nghiệm những thông tin quan trọng bên dưới.

Sơ lược về Module trong Python

Đối với ngôn ngữ lập trình thì Module là một phần quan trọng và tất yếu trong hầu hết những dự án. Nói cách khác, modules là tập hợp những file mà phần mở rộng có chứa .py. Những file này sẽ bao gồm mã Python và thông thường sẽ là những hàm, biến hay một lớp bất kỳ.

Tại sao phải dùng Module trong Python? Câu trả lời là nó hỗ trợ người dùng viết code cực kỳ nhanh và thuận tiện. Lúc này, mỗi file sẽ bao gồm các đoạn code cùng nhau thực hiện một chức năng quan trọng và riêng biệt.

Tiếp đến, nó được phân loại dựa trên yêu cầu của người dùng. Ngoài ra, để bắt đầu dùng những hàm từ Module A trong Module B thì lập trình viên nên dùng từ khóa “import”. Từ đây, mọi việc sẽ cực kỳ đơn giản và bạn hoàn toàn có thể khai thác hết tài nguyên của module A. Sau đây, chúng ta sẽ cùng nhau đến với phương pháp import.

Module trong ngôn ngữ lập trình Python
Hình 1. Module trong ngôn ngữ lập trình Python

Làm sao để tạo Module trong Python?

Người dùng phải tạo một tập tin với đuôi ‘py’ nhằm phục vụ cho việc khởi tạo một module trong ngôn ngữ lập trình Python. Hãy nhớ nó phải bao gồm biến, lớp và hàm đã được định nghĩa. Cuối cùng, người dùng hãy nhập module đó vào chương trình thông qua việc dùng lệnh ‘import’.

Tạo Module trong Python
Hình 2. Tạo Module trong Python

Sau đây để giúp các bạn hiểu rõ thêm về việc tạo module trong Python, chúng tôi xin thực hiện ví dụ. Đầu tiên, tạo một module với tên là ‘math_utils.py’ để thực hiện phép tính toán học của hai số.

# math_utils.py

def add(x, y):

return x + y

def subtract(x, y):

return x - y

def multiply(x, y):

return x * y

def divide(x, y):

if y == 0:

raise ValueError("Cannot divide by zero!")

return x / y

Tiếp theo, hãy dùng module ‘math_utils’ đối với chương trình khác và cùng nhập nhập nó bằng lệnh ‘import’.

# main.py

import math_utils

result = math_utils.add(3, 5)

print(result) # output: 8

result = math_utils.divide(10, 2)

print(result) # output: 5.0

Một điều cần nhớ là người dùng phải dùng ‘import’ để nhập module và chương trình sẽ tự động tìm kiếm module này trong những thư mục của họ. Không những thế, hãy dùng những đường dẫn tuyệt đối để chỉ ra vị trí của module.

Thế nào là lệnh ‘import’ trong Python?

Lệnh ‘Import’ trong ngôn ngữ lập trình Python thường được dùng để nhập những module khác vào chương trình. Thông qua việc dùng nó, người dùng sẽ dễ dàng tiếp cận được hàm, lớp hay biến đã được định nghĩa trong chính module đó.

Cách ‘Import’ module trong Python
Hình 3. Cách ‘Import’ module trong Python

Ví dụ: Chúng ta muốn dùng module ‘Math’ thì nên dùng lệnh ‘import’ sau đây:

import math

print(math.pi) # output: 3.141592653589793

print(math.sqrt(25)) # output: 5.0

Từ đoạn mã trên có thể thấy rằng lệnh ‘import’ được dùng cho việc nhập module tương ứng với định danh mới. Nói cách khác, nó sẽ cực kỳ cần thiết trong việc hạn chế xung đột tên trong chương trình của bạn.

import math as m

print(m.pi) # output: 3.141592653589793

print(m.sqrt(25)) # output: 5.0

Ngoài ra, chúng ta có thể dùng lệnh ‘from’ để nhập những thành phần chuyên biệt trong module.

from math import pi, sqrt

print(pi) # output: 3.141592653589793

print(sqrt(25)) # output: 5.0

Trong trường hợp người dùng cần nhập hết những thành phần trong module, ký tự ‘*’ sẽ giúp bạn làm được điều này. Nhưng chúng tôi không đánh giá cao vì đa phần nó sẽ làm cho đoạn code bạn khó đọc và bị xung đột tên.

from math import *

print(pi) # output: 3.141592653589793

print(sqrt(25)) # output: 5.0

Khi người dùng xài ‘import’ hay ‘from’, lúc này Python sẽ tìm kiếm module trong những thư mục đó. Không những vậy, để chỉ định vị trí trong module người dùng có thể dùng đường dẫn tuyệt đối.

Dùng ‘As’ để đổi tên module trong Python

Từ khóa “As” được dùng cho việc đổi tên module trong Python trong quá trình dùng lệnh ‘import’ để nhập nó vào chương trình. Nói cách khác, điều này cực kỳ cần thiết khi người dùng muốn module của mình mang tên khác để không xảy ra sự trùng lặp tên với các hàm, lớp hay biến khác trong dự án của họ.

Để giúp các bạn hiểu thêm, chúng tôi xin trình bày ví dụ bên dưới. Ví dụ yêu cầu đổi tên module ‘math’ thành ‘m’ trong quá trình sử dụng thì chúng ta phải dùng lệnh ‘import’.

import math as m

print(m.pi) # output: 3.141592653589793

print(m.sqrt(25)) # output: 5.0

Trên thực tế, có thể dùng bất cứ tên nào khi muốn đổi tên trong module trong việc dùng từ khóa ‘As’. Thậm chí, để đổi tên cho các biến, lớp, hay hàm thì việc dùng ‘As’ là điều khả dĩ.

from math import pi as PI, sqrt as square_root

print(PI) # output: 3.141592653589793

print(square_root(25)) # output: 5.0

Như các bạn đã thấy, ‘pi’ đã được chuyển thành ‘Pi’ và ‘sqrt’ được chuyển thành ‘square_root’. Thông qua hành động này, người dùng được phép xài tên mới nhằm tham chiếu tới những thành phần được nhập mà không nhất thiết phải dùng tên gốc như ban đầu.

Làm thế nào để xem thuộc tính và phương thức trong module?

Người dùng được phép xem thuộc tính và phương thức trong module thông qua việc áp dụng hàm ‘dir()’. Hàm này có nhiệm vụ đưa ra danh sách những chuỗi mà mỗi chuỗi là tương ứng với tên của một thuộc tính hay phương thức cho một đối tượng mà nó truyền vào.

Ví dụ: Các bạn muốn xem danh sách những thuộc tính/phương thức trong module ‘math’ thì dùng hàm ‘dir()’ như bên dưới.

import math

print(dir(math))

Lúc này, kết quả hiển thị là danh sách những chuỗi. Mỗi chuỗi này sẽ tượng trưng cho một phương thức hay thuộc tính trong module ‘math’. Mặt khác, người dùng hoàn toàn có thể tận dụng những thông tin đưa về từ hàm ‘dir()’ nhằm tiếp cận những thành phần trong module hay cách dùng.

Ví dụ: dùng hàm ‘help()’ để xem những thông tin liên quan đến phương thức hay lớp được liệt kê thông qua hàm ‘dir()’.

import math

print(dir(math))

# Xem thông tin về phương thức sqrt

help(math.sqrt)

Khi chạy xong đoạn code trên, các bạn sẽ dễ dàng biết được những thông tin liên quan đến phương thức ‘sqrt’ và kèm theo những tham số đi cùng.

Cách tải lại module với hàm reload

Chúng ta được phép tải lại module đã nhập vào chương trình thông qua việc áp dụng hàm ‘reload’ trong module ‘importlib’. Lúc này, hàm ‘reload’ có thể tải lại module từ việc chỉ định và cập nhật những thay đổi gần nhất mà người dùng đã làm trong module này.

Sau đây, hãy tạo một module với tên ‘my_module.py’.

# my_module.py

def hello():

print("Hello, world!")

Tiếp đến, nhập module trên vào và áp dụng hàm ‘hello()’ cho việc in chuỗi “Hello,world!”.

import my_module

my_module.hello() # output: Hello, world!

Trong trường hợp người dùng muốn thay đổi trong file ‘my_module.py’ thì nên tải lại module và sau đó cập nhập những thay đổi trong chính dự án thông qua việc dùng hàm ‘reload()’.

Ví dụ: người dùng đã chèn hàng mới vào hàm ‘hello()’ trong file ‘my_module.py’ như bên dưới

# my_module.py

def hello():

print("Hello, world!")

print("How are you today?")

Sau đó dùng hàm ‘reload()’ để tải lại module ‘my_module’. Cuối cùng, hãy cập nhật những thay đổi mới.

from importlib import reload

import my_module

my_module.hello() # output: Hello, world!

reload(my_module)

my_module.hello() # output: Hello, world! How are you today?

Các bạn nên nhớ việc dùng hàm ‘reload()’ để tải lại module trong dự án sẽ dẫn đến tình trạng mất cân bằng và xung đột giữa những module. Do đó, cần phải chú ý khi dùng hàm ‘reload()’ và chắc chắn là việc tải lại module sẽ không dẫn đến quá trình xung đột cho những module khác trong dự án.

Làm thế nào để xem những module có sẵn trong Python?

Người dùng hãy sử dụng module ‘sys’ để phục vụ cho việc xem danh sách những module tồn tại sẵn trong chương trình. Nói cách khác, module ‘sys’ sẽ hỗ trợ các biến, hằng, hay chức năng được dùng cho việc tương tác với trình thông dịch Python và trong hệ thống.

Bên cạnh đó, một trong số những biến được hỗ trợ từ ‘sys’ là ‘modules’. Đây được xem là từ điển chứa những thông tin về những module đã nhập vào chương trình. Lúc này, hãy dùng ‘sys.modules.keys()’ để rút danh sách những module được nhập vào dự án hay áp dụng hàm ‘dir()’ để rút trích danh sách chứa những thành phần từ module ‘sys’ cũng như truy tìm thuộc tính ‘modules’.

Ví dụ:

import sys

# Lấy danh sách các module đã được nhập vào trong chương trình

print(sys.modules.keys())

Từ đoạn code trên sau khi chạy sẽ cho ra một danh sách những chuỗi mà mỗi chuỗi biểu thị cho tên cho mỗi module đã được nhập vào. Ngoài ra, các bạn có thể dùng trang web từ Python để nghiên cứu về những module được hỗ trợ chính trong dự án Python. Trang chủ của Python sẽ hỗ trợ đầy đủ những thông tin về module kèm theo làm sao sử dụng chúng hiệu quả.

Kết

Chúng tôi đã tổng hợp đầy đủ những thông tin thiết yếu liên quan đến việc sử dụng module trong Python. Không những thế, người dùng cũng nắm được làm sao tạo module và gọi đến module đó.

 

Rate this post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *