Trong khi học lập trình và đọc một số tài nguyên, bạn sẽ bắt gặp từ 'trừu tượng' này, nghĩa đơn giản là giảm thiểu và tái sử dụng mã càng nhiều càng tốt
Chức năng và Mô-đun tạo điều kiện trừu tượng hóa. Bạn tạo các hàm khi bạn muốn làm điều gì đó lặp đi lặp lại trong một tệp
Các mô-đun xuất hiện khi bạn muốn sử dụng lại một nhóm chức năng trong các tệp nguồn khác nhau. Các mô-đun cũng hữu ích trong việc cấu trúc chương trình tốt
- Sử dụng Thư viện tiêu chuẩn và các mô-đun bên thứ ba khác
- Cấu trúc chương trình
Sử dụng thư viện tiêu chuẩn
Thí dụ. Bạn có thể đọc chi tiết về các phương thức/chức năng của tất cả các thư viện chuẩn trong Tài liệu Python chính thức
import time
for i in range[100]:
time.sleep[1] # Waits for 1 second and then executes the next command
print[str[i] + ' seconds have passed'] # prints the number of seconds passed after the program was started
Mã vận hành
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
Chạy mã
# Using math Module
import math
print[math.sqrt[100]] # prints 10
Chạy mã
Sử dụng Mô-đun của bên thứ ba
Các mô-đun của bên thứ ba không đi kèm với python, nhưng chúng tôi phải cài đặt nó bên ngoài bằng cách sử dụng các trình quản lý gói như
# Using math Module
import math
print[math.sqrt[100]] # prints 10
7 và # Using math Module
import math
print[math.sqrt[100]] # prints 10
8# To make http requests
import requests
rq = requests.get[target_url]
print[rq.status_code]
Tìm hiểu thêm về mô-đun python-request tại đây
Để cấu trúc các chương trình
Chúng tôi muốn tạo một chương trình có nhiều hàm khác nhau liên quan đến số nguyên tố. Vì vậy, hãy bắt đầu. Chúng tôi sẽ xác định tất cả các chức năng trong
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
0# prime_functions.py
from math import ceil, sqrt
def isPrime[a]:
if a == 2:
return True
elif a % 2 == 0:
return False
else:
for i in range[3,ceil[sqrt[a]] + 1,2]:
if a % i == 0:
return False
return True
def print_n_primes[a]:
i = 0
m = 2
while True:
if isPrime[m] ==True:
print[m]
i += 1
m += 1
if i == a:
break
Bây giờ chúng tôi muốn sử dụng các chức năng mà chúng tôi vừa tạo trong
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
0 vì vậy chúng tôi tạo một tệp mới # To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
2 để sử dụng các chức năng đóXin lưu ý rằng chương trình này quá đơn giản để tạo hai tệp riêng biệt, nó chỉ để chứng minh. Nhưng khi có các chương trình phức tạp lớn, việc tạo các tệp khác nhau thực sự hữu ích
________số 8Sắp xếp nhập khẩu
Thực hành tốt là sắp xếp các mô-đun
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
3 thành ba nhóm - nhập thư viện tiêu chuẩn, nhập bên thứ ba có liên quan và nhập cục bộ. Trong mỗi nhóm, có thể sắp xếp theo thứ tự bảng chữ cái theo tên mô-đun. Bạn có thể tìm thêm thông tin trong PEP8Một trong những điều quan trọng nhất đối với ngôn ngữ Python là tính dễ đọc và các mô-đun sắp xếp theo thứ tự abc giúp đọc và tìm kiếm nhanh hơn. Ngoài ra, việc xác minh rằng nội dung nào đó được nhập sẽ dễ dàng hơn và tránh nhập trùng lặp
Từ X nhập Y. một ví dụ
Đây là một vấn đề ví dụ
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
0Chạy mã
Hoặc chúng ta có thể sử dụng cái này thay thế
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
1Chạy mã
Sau đó, mã của chúng tôi sẽ giống như
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
4 thay vì # To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
5. Điều này xảy ra bởi vì khi chúng tôi sử dụng # To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
6, một không gian tên # To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
7 được tạo để tránh xung đột tên. Bạn phải truy cập mọi đối tượng của mô-đun dưới dạng # To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
8Nhưng khi chúng tôi sử dụng
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
9, chúng tôi đồng ý thêm # Using math Module
import math
print[math.sqrt[100]] # prints 10
0 vào không gian tên chung chính. Vì vậy, trong khi sử dụng điều này, chúng tôi phải đảm bảo rằng chúng tôi không có đối tượng trùng tên trong chương trình của mìnhKhông bao giờ sử dụng
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
9 nếu một đối tượng có tên # Using math Module
import math
print[math.sqrt[100]] # prints 10
0 đã tồn tạiVí dụ, trong mô-đun
# Using math Module
import math
print[math.sqrt[100]] # prints 10
3 có phương thức # Using math Module
import math
print[math.sqrt[100]] # prints 10
4. Nhưng chúng tôi thậm chí còn có một chức năng tích hợp có tên là # Using math Module
import math
print[math.sqrt[100]] # prints 10
4. Vì vậy, ở đây chúng ta nên tránh sử dụng # Using math Module
import math
print[math.sqrt[100]] # prints 10
6Chúng tôi thậm chí có thể sử dụng
# Using math Module
import math
print[math.sqrt[100]] # prints 10
7, điều này sẽ nhập tất cả các phương thức, lớp của mô-đun đó vào không gian tên chung của chương trình. Đây là một thực hành lập trình xấu. Xin vui lòng tránh nóNói chung, bạn nên tránh
# To calculate the execution time of a part of program
import time
start = time.time[]
# code here
end = time.time[]
print['Execution time:' , end-start]
9 đơn giản vì những vấn đề nó có thể gây ra trong các chương trình quy mô lớn. Ví dụ: bạn không bao giờ biết liệu một lập trình viên đồng nghiệp có muốn tạo một chức năng mới trùng với tên của một trong các chức năng hiện có hay không. Bạn cũng không biết liệu Python có thay đổi thư viện mà bạn đang nhập các hàm từ đó hay không. Mặc dù những vấn đề này sẽ không tồn tại thường xuyên đối với các dự án solo, nhưng như đã nêu trước đây, đó là một cách lập trình tồi và nên tránhQUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nếu bài viết này hữu ích, hãy tweet nó
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu