Hướng dẫn reload trong python

Trong bài này chúng ta sẽ học cách tạo module trong Python, qua bài này bạn sẽ hiểu được khái niệm module là gì? Làm thế nào để gọi đến một module tạo mới hoặc module có sẵn trong Python.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nếu Python là ngôn ngữ đầu tiên mà bạn học thì khái niệm này hơi mới lạ, nhưng nếu bạn đã học ngôn ngữ khác rồi thì không còn xa lạ gì khái niệm lập trình hướng module nữa. Vậy Module là gì thì chúng ta cùng tìm hiểu ngay nhé.

1. Module trong Python là gì?

Trong Python, modules là những file có phần mở rộng

students.name
students.showMessage[]
0, các file này chứa mã Python và đó có thể là các biến, hàm, hoặc một lớp nào đó.

Các module giúp chúng ta code một cách linh hoạt hơn, mỗi file sẽ chứa những đoạn code phục vụ cho một chức năng cụ thể, được sắp xếp tùy vào cách thiết kế của mỗi lập trình viên.

Bài viết này được đăng tại [free tuts .net]

Để sử dụng các hàm của module A trong module B thì ta phải sử dụng từ khóa import, sau đó là bạn có thể sử dụng toàn bộ tài nguyên của module A. Cách import như thế nào thì chúng ta cùng tìm hiểu qua phần thứ hai nhé.

2. Cách tạo module trong Python

Trước khi tạo một module thì bạn phải xác định rằng nhu cầu cần tạo một module tên gì? nằm phục vụ một công việc gì? Để từ đó đặt tên module cho có ngữ nghĩa.

Giả sử mình cần tạo một thư viện chứa những hàm dùng để quản lý sinh viên, lúc này mình sẽ tạo một file tên là

students.name
students.showMessage[]
1 cùng cấp với file chạy chính như sau:

Như bạn thấy, mình có file

students.name
students.showMessage[]
2 là file chương trình chính của project, còn file
students.name
students.showMessage[]
1 là module chứa những hàm quản lý sinh viên mà minh sắp viết vào.

Trong file

students.name
students.showMessage[]
1 bạn hãy dùng lệnh def để tạo một hàm như sau:

def showStudent[name]:
    print[name]

Trong file

students.name
students.showMessage[]
2 bạn hãy viết đoạn code sau:

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]

Chạy file chính

students.name
students.showMessage[]
2 lên thì bạn sẽ thấy kết quả như sau:

Tóm lại: Giả sử trong module students có biến name và hàm showMessage, lúc này ta sẽ gọi đến biến và hàm này như sau:

students.name
students.showMessage[]

Như vậy mình đã sử dụng lệnh import để gọi đến module students. Ta sẽ tìm hiểu sâu hơn về lệnh này ở phần tiếp theo.

3. Lệnh import trong Python

Để sử dụng các đoạn code ở module A vào trong module B thì ta sẽ phải sử dụng lệnh import. Có hai cách sử dụng, thứ nhất là dùng lệnh import đơn lẻ, thứ hai là lệnh from-import.

Sử dụng import

Lệnh import sẽ gọi module A vào trong module B, lúc này bạn có thể sử dụng mọi tài nguyên của module A trong module B.

import module

Nếu bạn muốn import một lúc nhiều module thì hãy ngăn chúng bằng dấu phẩy.

import module1,module2,........ module n

Ví dụ: Sử dụng hàm showStudent trong module students.

Ví dụ

# Gọi đến module students
import students

# Lấy dữ liệu
print["Hãy nhập tên của sinh viên"]
name = input[]

# Gọi đến hàm showStudent
students.showStudent[name]

Chạy chương trình này bạn sẽ thu được kết quả như sau:

Sử dụng from-import

Giả sử trong module A bạn định nghĩa 10 function, nhưng trong module B bạn chỉ muốn sử dụng 1 trong 10 funciton đó thôi thì sử dụng

students.name
students.showMessage[]
7.

Vậy sự khác nhau giữa

students.name
students.showMessage[]
8 và
students.name
students.showMessage[]
9 là một bên sẽ gọi tất cả các function, còn một bên chỉ gọi một function nào đó thôi.

Cú pháp

from < module-name> import , ..,  

Ví dụ: Xem cách sử dụng from-import dưới đây.

calculation.py

#Đoạn code trong file calculation.py   
def summation[a,b]:  
    return a+b  
def multiplication[a,b]:  
    return a*b
def divide[a,b]:  
    return a/b

Main.py

from calculation import summation    
# Nó sẽ import duy nhất hàm summation[] trong file calculation.py  
a = int[input["Nhập số thứ nhất: "]]  
b = int[input["Nhập số thứ hai: "]]  
print["Sum = ",summation[a,b]]

Chạy lên kết quả sẽ như sau:

Nhập số thứ nhất: 10
Nhập số thứ hai: 20
Sum =  30

Lệnh

students.name
students.showMessage[]
9 sử dụng trong trường hợp bạn biết chính xác tên function muốn sử dụng trong module. Nó sẽ không khiến chương trình nặng hơn, vì vậy cứ yên tâm mà sử dụng.

Trường hợp bạn muốn import tất cả các function thì sử dụng dấu sao

import module
1.

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
0

4. Đổi tên module với AS trong Python

Nếu bạn muốn đổi tên module cho ngắn gọn và dễ hiểu thì có thể sử dụng từ khóa AS. Từ khóa này rất hữu ích vì giúp bạn tiết kiệm được thời gian nhập những module có tên quá dài, thay vao đó chỉ cần một cai tên thật đặc biệt.

Cú pháp như sau:

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
1

Ví dụ: Thay đổi tên module calculation thành cal

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
2

5. Xem thuộc tính và phương thức của module

Hàm dir[] có công dụng trả về danh sách các thuộc tính và phương thức của module.

Ví dụ: Xem những tên biến, hàm có sẵn trong module json.

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
3

Kết quả:

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
4

6. Tải lại module với hàm reload

Trong Phython, khi bạn import một module thì nó sẽ thực hiện một lần duy nhất, cho dù bạn sử dụng đoạn code import bao nhiêu lần đi nữa. Tuy nhiên có một số trường hợp bạn muốn tải lại dữ liệu mới nhất của module đó thì có thể sử dụng hàm

import module
2.

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
5

Ví dụ: Tải lại module calculation đã được định nghĩa ở các ví dụ trước.

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
6

7. Phạm vi của biến của module trong Python

Như tất cả các ngôn ngữ lập trình khác, chúng ta có hai dạng biến như sau:

  • Biến toàn cục: là biến có thể sử dụng ở tất cả các vị trí trong chương trình chính, trừ trong hàm.
  • Biến cục bộ: Là biến chỉ sử dụng được trong một phạm vi nhất định, ví dụ trong hàm.

Vậy khi bạn khai báo một biến trong module thì có thể sử dụng tai mọi vị trí trong module đó. Tuy nhiên trong hàm thì không thể gọi đến biến cục bộ đó.

Hãy xem ví dụ dưới đây, biến name đã được khai báo ở cấp ngoài cùng và trong hàm, đây là 2 biến hoàn toàn khác nhau.

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
7

Kết quả:

8. Xem các module có sẵn trong Python

Để xem danh sách các module có sẵn trong Python thì ta sử dụng lệnh sau:

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
8

Kết quả nó sẽ trả về danh sách như sau:

# Gọi đến module students
import students

# Gọi đến hàm showStudent trong module students
students.showStudent["Nguyễn Văn Cường"]
9

Mình chạy trên Python 3.8.

Như vậy là mình đã hướng dẫn xong cách sử dụng lệnh import trong Python để gọi đến một module nào đó. Ngoài ra bạn cũng biết cách tạo mới module và gọi đến một module vừa tạo đó.

Chủ Đề