Python nhập cục bộ

Nếu như các bạn đã từng tìm hiểu qua một ngôn ngữ lập trình khác thì chắc chắn các bạn cũng biết các ngôn ngữ đó đều có cơ chế tải tệp và sử dụng lại. Ví dụ như PHP chúng ta sử dụng bao gồm,yêu cầu,. Và hôm nay chúng ta hãy cùng tìm hiểu xem trong Python thì cách thức gọi là gì nhé

1, Modules là gì?

Các mô-đun là cách mà chúng ta phân hóa chương trình ra các nhánh nhỏ để dễ quản lý và gọi lại chúng khi nào cần, vì thế chương trình của chúng ta sẽ có tính năng tái sử dụng, bảo trì cao

VD. Như mô hình MVC cũng được coi như một mô-đun hóa hệ thống

2, Các mô-đun trong Python

Nhập khẩu

Để nhập một mô-đun vào trong tệp hiện tại thì mọi người sử dụng từ khóa nhập với cú pháp như sau

import module1, module2,...

in which.

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
5 là các mô-đun mà bạn muốn nhập vào tệp hiện tại

Để xem danh sách các module mặc định của python mọi người click vào đây

VD. Mình sẽ nhập models math và gọi thử một số phương thức trong module math [xem ]

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3

từ - nhập khẩu

Giả sử sử dụng trong một trường hợp nào khi bạn không muốn sử dụng hết toàn bộ mô-đun mà chỉ muốn sử dụng một số thứ trong đó mà thôi thì sẽ phải làm sao?

from modules import something, something2,...

in which

  • import math
    a = 3.2
    # làm tròn lên 1 số
    print[math.ceil[a]] # 4
    # làm tròn xuống 1 số
    print[math.floor[a]] # 3
    7 là tên của mô-đun mà bạn muốn nhập
  • import math
    a = 3.2
    # làm tròn lên 1 số
    print[math.ceil[a]] # 4
    # làm tròn xuống 1 số
    print[math.floor[a]] # 3
    8 là thứ mà các bạn muốn sử dụng trong
    import math
    a = 3.2
    # làm tròn lên 1 số
    print[math.ceil[a]] # 4
    # làm tròn xuống 1 số
    print[math.floor[a]] # 3
    7. Nếu bạn muốn nhập tất cả những gì trong các mô-đun có và cho phép thì bạn sử dụng từ khóa
    from modules import something, something2,...
    0

VD. Mình sẽ nhập từng phương thức

from modules import something, something2,...
1 vào trong mô-đun
from modules import something, something2,...
2

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
1

VD. Mình sẽ nhập tất cả các thứ được phép từ module math

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
2

Xây dựng mô-đun

Ngoài việc sử dụng các mô-đun có sẵn trong python ra thì chúng ta cũng có thể viết ra các mô-đun của riêng mình và nhập nó khi muốn sử dụng

VD. Mình sẽ hướng dẫn mọi người xây dựng một module đơn giản

Đầu tiên các bạn tạo cho mình 2 file

from modules import something, something2,...
3 và
from modules import something, something2,...
4 ở cùng một thư mục

Bây giờ mọi người mở tệp

from modules import something, something2,...
5 lên và viết cho mình hàm 
from modules import something, something2,...
6 - tính tổng 2 số nguyên bất kỳ do người dùng truyền vào

Ai lười thì copy nhé

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
7

Tiếp theo đó khi bạn muốn sử dụng hàm get_sum này trong tệp chính. py thì chúng ta chỉ cần nhập nó vào và sử dụng thôi

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
8

Chú thích. Tên tệp chứa mã chúng tôi muốn nhập chính là tên mô-đun

Tương tự với trường hợp từ nhập khẩu thì mọi người tự làm nhé

Định danh cho module

Nếu như trong trường hợp các mô-đun của chúng ta rất khó nhớ hay dài hay vì một lý do nào khác mà bạn không muốn gọi mô-đun là như thế thì với Python bạn cũng có thể gán danh sách mới cho các mô-đun khi nhập chúng bằng cách sử dụng từ khóa . với cú pháp như sau

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
0

in which

  • import math
    a = 3.2
    # làm tròn lên 1 số
    print[math.ceil[a]] # 4
    # làm tròn xuống 1 số
    print[math.floor[a]] # 3
    7 là các mô-đun mà chúng ta muốn nhập
  • from modules import something, something2,...
    9 is a new list for module that

VD. Mình sẽ nhập các module

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
10 và gán danh cho nó thành
import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
11

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
5

Nếu như các bạn sử dụng cú pháp từ. import then also used future

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
6

3, Chú ý

Đối chiếu với trường hợp các bạn sử dụng từ. nhập * thì mặc định python nó sẽ không nhập các đối tượng có tên được bắt đầu bằng ký tự _. Trong trường hợp này, nếu bạn muốn nhập các đối tượng đó thì bạn sẽ phải chỉ đích danh các đối tượng đó

VD. Bây giờ mình sẽ đổi tên của phương thức

from modules import something, something2,...
6 trong
import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
13 thành
import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
14

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
0

Bây giờ ở trong file chính mình sẽ nhập mathplus theo cách dùng ký tự *

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
1

Như các bạn đã thấy, nó đã báo lỗi là _get_sum[] chưa được định nghĩa. Bây giờ chúng ta chuyển sang import đích danh _get_sum xem sao nhé

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
2

Như các bạn đã thấy, nó đã ổn

4, nhập mô-đun trong thư mục

Cũng với ví dụ về module mathplus ở phía trên, bây giờ bạn tạo thêm 1 thư mục có tên là module hoặc tên bất kỳ và copy file mathplus. py vào thư mục đó. Lúc này cấu trúc thư mục cấu trúc sẽ thành như sau

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
3

Và bạn thử nhập module mathplus vào trong main as old xem nó có chạy không? . Điều này xảy ra là do chúng ta chưa thiết lập thư mục tải mô-đun cho python hiểu

Mặc định thì python nó sẽ chỉ tải các mô-đun hệ thống của nó và các mô-đun ở cùng cấp với tệp hiện tại. Nếu bạn muốn chỉ cho python biết là nó cần tải mô-đun trong các thư mục nào nữa thì bạn phải cấu hình ở trong sys. đường dẫn và để thêm thư mục cần tải thì bạn sử dụng phương thức

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
15 trong mô-đun
import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
16

VD. Mình sẽ báo có python biết là phải tải thêm thư mục

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
7 trong dự án hiện tại, và đồng thời mình sẽ nhập luôn thư mục
from modules import something, something2,...
5

import math
a = 3.2
# làm tròn lên 1 số
print[math.ceil[a]] # 4
# làm tròn xuống 1 số
print[math.floor[a]] # 3
4

5, Lời kết

Phần này cực kỳ quan trọng, nếu như bạn không biết đến nó thì bạn sẽ không thể nào đi vào các bài viết sau được

Chủ Đề