Trong bài học Python này chúng ta sẽ biết cách để tạo và nhập một module trong python. Chúng ta sẽ tìm hiểu vài cách để nhập, sử dụng module tùy chỉnh cũng như module được tích hợp sẵn trong Python, mời các bạn theo dõi nhé.
Module trong python là gì?
Module được sử dụng để phân loại code thành các nhóm nhỏ hơn liên quan với nhau. Module giúp bạn tổ chức code Python một cách logic để giúp bạn dễ dàng hiểu và sử dụng code đó hơn. Module trong python là một đối tượng với các thuộc tính mà bạn có thể đặt tên tùy ý và bạn có thể gắn kết và tham chiếu.
Về cơ bản, một Module là một file, trong đó các lớp, hàm và biến được định nghĩa. Tất nhiên, một Module cũng có thể bao gồm code có thể chạy.
Tạo một module
Để tạo mô-đun, chỉ cần lưu chương trình bạn muốn trong một tệp có phần mở rộng tệp .py
:
Đoạn code dưới được lưu với tên laptrinhkhongkho.py
def print_func(): print("ví dụ về module")
Sử dụng module
Tiếp theo tạo một file mới và sử dụng lệnh import
để import module vừa tạo ở trên vào:
#import module laptrinhkhongkho import laptrinhkhongkho #gọi hàm đã được định nghĩa sẵn ở trong module laptrinhkhongkho.print_func()
Khi sử dụng một chức năng từ một mô-đun, hãy sử dụng cú pháp: tên_module.tên_mục .
Lưu ý: Hãy chắc chắn bạn đã gõ đúng tên module, tên hàm (phân biệt chữ hoa, chữ thường).
Python đã có sẵn rất nhiều module tiêu chuẩn. Bạn có thể kiểm tra danh sách đầy đủ tại địa chỉ: https://docs.python.org/3/py-modindex.html. Tại đây, bạn có thể xem tên module, nhiệm vụ của chúng là gì. Các file này có sẵn trong Lib ở thư mục bạn cài đặt Python. Những module này có thể nhập vào tương tự như cách chúng ta nhập module tự định nghĩa.
Cách để nhập module trong python
Sử dụng lệnh import
Bạn có thể sử dụng bất kỳ file Python nào dưới dạng mô-đun bằng cách thực hiện câu lệnh import
trong một số file Python khác. import
có cú pháp như sau:
import module1, module2, module3
Khi trình thông dịch gặp câu lệnh import
, nó sẽ nhập module nếu module đó có mặt 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 module. Ví dụ: để import
module math
, bạn cần đặt lệnh sau ở đầu chương trình:
#import module math #math là một module toán học bao gồm rất nhiều các hàm toán học import math #sử dụng thư viện math để in ra giá trị số pi print("giá trị số pi là: ", math.pi)
Kết quả:
giá trị số pi là: 3.141592653589793
Nhập module với một tên khác
Thi thoảng có các thư viện có tên dài, và chúng ta muốn sử dụng chúng với tên ngắn hơn để thuận tiện, chúng ta sử dụng lệnh sau:
import module as tên_khác
ví dụ:
#import thư viện math với tên m import math as m #bây giờ thay vì sử dụng math.pi như ví dụ trên #chúng ta có thể sử dụng m.pi để ngắn gọn hơn print("số pi: ", m.pi)
Lệnh from…import trong Python
Chúng ta có thể nhập một mục cụ thể từ module mà không cần nhập toàn bộ module như ví dụ dưới đây:
#chúng ta có thể import một mục thay vì import cả module đó from math import pi print("giá trị số pi", pi)
Đương nhiên cùng một lúc có thể import nhiều mục khác nhau, dùng dấu ,
để phân biệt các mục đó:
#import số pi và số e from math import pi, e print("giá trị số pi: ", pi) print("giá trị số e: ", e)
Nhập tất cả mục trong module
Ta có thể nhập tất cả mục từ một module trong python sử dụng code sau:
from module import *
Dấu *
biểu thị cho tất cả.
ví dụ:
from math import * print("giá trị số pi: ", pi) print("giá trị số e: ", e)
Sử dụng hàm dir()
Hàm dir()
dùng để liệt kê tất cả các mục ở trong một module:
#import module time import time #in ra tất cả các mục trong thư viện time print(dir(time))
Kết quả:
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname']
Thư mục chứa module
Khi chúng ta import một module nào đó. Trình thông dịch sẽ tìm các module có sẵn trong Python. Nếu không thấy, nó sẽ tìm trong biến sys.path
, biến này lưu trữ một list các chuỗi đường dẫn bao gồm đường dẫn đến thư mục hiện tại của file và đường dẫn đến thư mục cài đặt Python cùng với một số thư mục con bên trong. Nếu không tìm thấy module thì báo lỗi ImportError
.
import sys import textwrap sp = sorted(sys.path) dnames = ', '.join(sp) print(textwrap.fill(dnames))
Đoạn code trên in ra tất cả các thư mục trong biến sys.path
.
import textwrap
Module textwrap
dùng để định dạng kiểu hiển thị.
sp = sorted(sys.path)
Dòng code trên lấy danh sách các đường dẫn thư mục và sắp xếp chúng.
dnames = ', '.join(sp)
Sau đó chúng ta nối chúng lại thành một chuỗi, ngăn cách bởi dấu phẩy.
C:UsersGunGimPycharmProjectsfuntion, C:UsersGunGimPycharmProjectsfuntionvenv, C:UsersGunGimPycharmProjectsfuntionvenvlibsite-packages, C:UsersGunGimPycharmProjectsfuntionvenvlibsite- packagespip-19.0.3-py3.8.egg, C:UsersGunGimPycharmProjectsfuntionvenvlibsite- packagessetuptools-40.8.0-py3.8.egg
Hãy tham gia group lập trình không khó để cùng thảo luận về các vấn đề về lập trình.
Hẹn các bạn vào các bài học sau!!!
Để lại một bình luận