Module trong python có thể được xem là một file chương trình python chứa mã python bao gồm các hàm, lớp hoặc biến. Nói cách khác, chúng ta có thể xem module python là một file được lưu với phần mở rộng (.py).

Các module trong Python giúp chúng ta code một cách linh hoạt hơn. Mỗi file sẽ có một chức năng cụ thể, được sắp xếp theo một nguyên tắc nào đó tùy vào mỗi lập trình viên.

Để sử dụng module này trong module khác thì ta phải sử dụng từ khóa import để gọi đến module cần sử dụng đó.

I. Tạo module trong Python

Trong ví dụ dưới đây mình sẽ tao một file có tên là file.py. Trong file này sẽ chứa một đoạn mã Python với nội dung chính là hàm hiển thị thông báo.

file.py
1
2
3
#Hàm displayMsg sẽ hiển thị tên nhập vào.  
def displayMsg(name) 
    print("Hi "+name);

II. Gọi module trong Python

Để sử dụng các đoạn code trong module A vào trong module B thì ta sẽ phải imrport vào bằng một trong hai cách sau.

1. Sử dụng import

Lệnh import sẽ nhập tất cả các chức năng của module A vào trong module B.

1
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.

1
import module1,module2,........ module n
Ví dụ
1
2
3
import file
name = input("Nhập tên của bạn?"
file.displayMsg(name)

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

Nhập tên của bạn?Cường
Hi Cường

2. 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 from .. import. Vậy sự khác nhau giữa from và from ... import 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
1
from < module-name> import <name 1>, <name 2>..,<name n>

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

calculation.py
1
2
3
4
5
6
7
#Đoạn code trong file calculation.py  
def summation(a,b): 
    return a+
def multiplication(a,b): 
    return a*b; 
def divide(a,b): 
    return a/b;
Main.py
1
2
3
4
5
from calculation import summation   
#Nó sẽ import duy nhất hàm summation() trong file calculation.py 
a = int(input("Enter the first number")) 
b = int(input("Enter the second number")) 
print("Sum = ",summation(a,b))

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

Enter the first number10
Enter the second number20
Sum =  30

Lệnh from – import 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 *.

1
from <module> import *  

III. Đổ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:

1
import <module-name> as <specific-name>

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

1
2
3
4
5
#Tên của module calculation ở ví dụ trước sẽ đổi thành cal.  
import calculation as cal; 
a = int(input("Enter a?")); 
b = int(input("Enter b?")); 
print("Sum = ",cal.summation(a,b))

IV. Hàm dir() trong Python

Hàm dir() có công dụng sắp xếp tên các hàm, biến mà bạn đã định nghĩa trong module đó.

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

1
2
3
4
5
import json 
  
List = dir(json) 
  
print(List)

Kết quả:

['JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', '__cached__', '__doc__',
'__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', 
'_default_decoder', '_default_encoder', 'decoder', 'dump', 'dumps', 'encoder', 'load', 'loads', 'scanner']

V. Hàm reload() trong Python

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 reload().

1
reload(<module-name>)

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

1
reload(calculation)

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

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.

1
2
3
4
5
6
7
# Đây là biến toàn cục
name = "john"
def print_name(name): 
    #Biến này là biến cục bộ, giá trị của nó được truyền vào
    print("Hi",name)
name = input("Enter the name?"
print_name(name)

Kết quả:

Hi David

VII. Cấu trúc module – package

Bây giờ hày tìm hiểu cách phân chia cấu trúc các package và module trong Python thế nào để chương trình tối ưu nhất.

Các package giúp lập trình viên có thể phân chia cấu trúc chương trình thành nhiều thư mục theo cấu trúc cây.

Thường thì sẽ có cấu trúc như sau: package -> sub-package -> module.

Để biết cách tạo package thì chúng ta sẽ làm một ví dụ như sau.

Ví dụ: Xây dựng cấu trúc package cho ứng dụng Employees.

Bước 1: Tao một thư mục Employees nằm trong thư mục home của ứng dụng.

Bước 2: Tao một module ITEmployees.py nằm trong thư mục /home/Employees.

ITEmployees.py
1
2
3
def getITNames(): 
    List = ["John", "David", "Nick",    "Martin"
    return List;

Bước 3: Tương tự, hãy tạo thêm file BPOEmployees.py cũng năm trong thư mục đó, sau đó định nghĩa hàm  getBPONames().

Bây giờ thư mục Employees đã có hai module. Để tao thư mục này thành một package thì bạn hãy tạo file __init__.py với nội dung là import hai module trên.

__init__.py
1
2
from ITEmployees import getITNames 
from BPOEmployees import getBPONames

Bước 4: Để sử dụng module Employees thì chúng ta chỉ việc import nó vào. Hãy tạo một file Test.py nằm ngoài thư mục /home.

Test.py
1
2
import Employees 
print(Employees.getNames())

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

['John', 'David', 'Nick', 'Martin']

Trên là 4 bước để tạo một package trong Python đơn giản nhất.

 

Theo:freetuts.net

 

 

ĐĂNG KÝ THÀNH VIÊN

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

Được quan tâm nhiều nhất

  • Apple Watch Series 4 Teardown

  • Phim Ngắn Đột Kích - Phiên bản 10 năm trước

  • Apple Watch Series 5 Teardown - Always on Display Explained

  • iPhone 11 Pro Max Teardown - Tiny Motherboard & BIG Battery!

Bạn thấy bài viết này thế nào?
Thể hiện yêu thương tác giả ở đây nhé!

Thích bài viết

thích

Chia sẻ ngay!

phuongle

Thành viên từ: 10/12/2019

Điểm uy tín: 5,987

SMod: 1,289 hướng dẫn đã chia sẻ

Team

Lập Trình Thành viên của Lập Trình

1 Thành viên

1,289 bài viết

Thêm bình luận

Bình luận bằng tài khoản Facebook

After viewing your support content - Please click advertisement for Support & Donate us team! Đóng