/ / Cách tạo, nhập và sử dụng lại mô-đun của riêng bạn trong Python

Cách tạo, nhập và sử dụng lại mô-đun của riêng bạn trong Python

Cho dù bạn là chuyên gia hay người mới bắt đầu lập trình Python, bạn phải có khả năng phân đoạn mã của mình thành các mô-đun có thể tái sử dụng.Trong bài viết này, bạn sẽ học cách tạo, nhập và sử dụng lại các mô-đun Python trên cây dự án của mình.




Mô-đun hóa mã là gì và tại sao bạn nên sử dụng nó?

Mô đun hóa mã để phân tách mối quan tâm và khả năng sử dụng lại mã là một trong những nguyên tắc cơ bản của lập trình. Bởi vì Python hướng đối tượng, nên nó là một trong những ngôn ngữ giúp dễ dàng mô đun hóa. Bạn có thể coi việc mô đun hóa mã như việc gán các tác vụ cụ thể cho các chức năng hoặc phương thức khác nhau. Sau đó, mỗi cái có thể hoạt động cùng nhau trong quá trình thực thi chương trình để tạo thành một ứng dụng hoàn chỉnh.

Một trong những điều quan trọng của việc mô đun hóa mã là làm cho mã của bạn tuân thủ nguyên tắc “Không lặp lại chính mình”. Vì vậy, một khi bạn tạo một mẫu hướng dẫn bằng một phương pháp chuyên dụng, tất cả những gì bạn cần làm là áp dụng nó trên các tập lệnh có liên quan để tránh lặp lại cùng một mã trên toàn bộ cơ sở mã của bạn.

Khi bạn mô đun hóa một mã, bạn đặt cho nó một cái tên duy nhất. Tên đó là đặc điểm nhận dạng của nó và có nghĩa là lần sau khi bạn cần sử dụng khối mã đó, bạn chỉ cần gọi tên của nó chứ không phải toàn bộ mã.

Thực hành này làm cho công việc của bạn dễ dàng hơn và nhanh hơn trong một dự án thực tế. Ngoài việc làm cho mã của bạn hiệu quả hơn và dễ đọc hơn, quá trình mô đun hóa còn cải thiện tốc độ thực thi và giúp kiểm thử dễ dàng hơn.

Vì ví dụ của chúng ta ở đây sử dụng lập trình hướng đối tượng (OOP), nên chúng ta phải thảo luận ngắn gọn về nó trước khi chuyển sang tạo mô-đun. Mã mà bạn định sử dụng lại đôi khi có thể đứng độc lập như một chức năng riêng lẻ. Nhưng nó cũng có thể là một phương thức trong một lớp; đó là khi OOP phát huy tác dụng.

Lập trình hướng đối tượng trong Python

OOP là cách trình bày mã trong các lớp chuyên dụng, được khởi tạo dưới dạng các đối tượng độc lập. Mỗi đối tượng sau đó có các thuộc tính và phương thức của nó. Một lớp có thể có một hoặc nhiều phương thức và thuộc tính và có thể kế thừa lớp khác.

Các thuộc tính của lớp là các đặc điểm của lớp, trong khi mỗi phương thức là một hàm xử lý một lệnh cụ thể, lệnh này có thể sử dụng một số thuộc tính của lớp. Khi bạn nhập và khởi tạo một lớp, bạn có thể lấy và sử dụng các thuộc tính và phương thức của nó trong các chương trình hoặc phần khác của cơ sở mã của bạn.

Tạo mô-đun có thể tái sử dụng của riêng bạn bằng Python: Một ví dụ thực tế

Bây giờ hãy xem cách sử dụng lại mô-đun bộ đếm từ tùy chỉnh trong một tệp Python khác. Trước hết, hãy mở một dấu nhắc lệnh đến bất kỳ vị trí nào trên máy tính của bạn để bắt đầu một dự án mới. Trong trường hợp này, chúng tôi sẽ sử dụng tên dự án là số từ. Để làm điều đó, gõ mkdir word_count.

Tiếp theo, sử dụng công cụ môi trường ảo ưa thích của bạn để tạo một môi trường ảo mới. Nếu bạn đã tạo rồi, chỉ cần kích hoạt nó. Đảm bảo rằng bạn vẫn đang ở trong thư mục dự án của mình.

Tạo thư mục dự án và tạo môi trường ảo

Để tạo lớp bộ đếm từ, trước tiên chúng ta cố gắng tìm ra một công thức thô để tính toán nó. Lưu ý rằng mặc dù bạn có thể không cần đếm từ, nhưng ý tưởng liên quan đến khả năng sử dụng lại mã mới là vấn đề quan trọng đối với lời giải thích này.

Tiếp theo, mở trình soạn thảo văn bản đến vị trí dự án của bạn và tạo một tệp Python mới. Trong trường hợp này, tệp được đặt tên truy cập.py; đảm bảo rằng bạn sử dụng đúng .py sự mở rộng.

Đây là những gì quầy tính tiền tập tin trông giống như:

 sentence = 'how to make a reusable word counter in python'
words = sentence.split(' ')
count = sum(1 for word in words if word)
print(count)

Bây giờ mã thô đã hoạt động, hãy mô đun hóa nó trong một phương thức lớp Python chuyên dụng để làm cho nó có thể tái sử dụng:

 class WordCounter:
    def count_words(self, sentence):
       words = sentence.split(' ')
       count = sum(1 for word in words if word)
       return count

Đó là nó; bạn đã tạo một mô-đun bộ đếm từ. Hãy xem cách sử dụng lại nó trong một tệp Python khác.

Nhập mô-đun đã tạo trong cùng một thư mục

Hãy nhớ rằng trước đó bạn đã tạo một tệp có tên truy cập.py. Tập tin đó chứa một lớp, Máy đếm từcó phương thức đếm từ (đếm_từ). Nếu bạn cần phương thức truy cập trong một tệp mới, hãy nhập và khởi tạo lớp của nó trong tập lệnh Python mới của bạn.

Lưu ý rằng tất cả các tệp Python của bạn phải nằm trong cùng một thư mục trong trường hợp này. Để đảm bảo điều này, hãy tạo một tệp Python mới trong cùng thư mục nơi bạn có tệp máy đếm từ.py tài liệu.

Đây là giao diện của tệp mới:

 from counter import WordCounter
sentence = "how to import and reuse your code in Python"
counter = WordCounter()
print(counter.count_words(sentence))

Bạn thậm chí có thể sử dụng phương thức của lớp này trong lớp khác thông qua kế thừa hoặc thành phần. Bạn có thể muốn hiểu các nguyên tắc cơ bản của OOP trong Python để xem nó hoạt động như thế nào.

Sử dụng lại Mô-đun Python của bạn trong một thư mục khác

Nếu tệp đích không nằm trong cùng thư mục với tệp mô-đun, chỉ cần tham chiếu mô-đun bằng cách nhập tuyệt đối.

Để hiểu rõ hơn về điều này, giả sử bạn đã tạo một tệp mới trong thư mục của dự án. Nhưng tệp bạn định nhập mô-đun của mình từ đó nằm trong một thư mục khác trong thư mục dự án của bạn—hãy gọi thư mục đó là số từ.

Để nhập mô-đun của bạn từ truy cập.py (mà bây giờ là bên trong số từ thư mục) vào tập lệnh Python trong thư mục khác:

 
import sys
sys.path.append(sys.path[0] + "/..")
from wordcount.counter import WordCounter
sentence = 'import and reuse your Python code from files with different paths'
counter = WordCounter()
print(counter.count_words(sentence))

Các sys.path.append phương pháp thêm thư mục làm việc hiện tại vào thư mục mẹ của dự án của bạn. Vì vậy, bạn có thể muốn làm điều này cho tất cả các tệp đích để làm cho các mô-đun của bạn có thể thực thi được trên cây dự án của bạn.

Trong quá trình nhập tuyệt đối, Python duyệt qua thư mục mẹ (số từ trong trường hợp này) và định vị mô-đun quan tâm (truy cập.py).

Một thư mục dự án trông như thế này:

 
word_count
├─ destination
│ └─ destination.py
└─ wordcount
   └─ counter.py

Phá vỡ cấu trúc thư mục: số từ là thư mục mẹ. Nó chứa số từđiểm đến các thư mục chứa truy cập.py và các tệp Destination.py tương ứng. Các truy cập.py tập lệnh sau đó chứa Máy đếm từ class—khi được khởi tạo bên trong Destination.py, nó có thể thực thi các phương thức và thuộc tính tương ứng.

Khả năng sử dụng lại mã hoạt động ở đâu?

Mô-đun hóa và sử dụng lại mã của bạn là cách thực hành tốt nhất cho bất kỳ dự án nào bạn đang chạy. Mặc dù cấu trúc dự án của bạn có thể hoàn toàn khác, nhưng hướng dẫn này cung cấp cơ sở để sử dụng các mô-đun tùy chỉnh trên các tập lệnh dự án của bạn. Một khái niệm tương tự áp dụng cho các chức năng không có trong một đối tượng. Tùy thuộc vào bố cục dự án của bạn, bạn có thể nhập chúng rõ ràng hoặc tuyệt đối, như chúng tôi đã thực hiện ở trên.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *