Làm cách nào để tạo 10 tệp trong python?
Chào mừng đến với ngày thứ 21 của loạt bài 30 Days of Python. Hôm nay chúng ta sẽ tìm hiểu về cách (và lý do tại sao) chia mã Python của chúng ta thành nhiều tệp Show
Tuy nhiên, trước tiên, chúng ta sẽ nhanh chóng tóm tắt cách thức hoạt động của quá trình nhập trong Python. Bắt đầu nào Tóm tắt các lần nhập trong PythonThực hiện một bản tóm tắt nhanh là đáng giá trong trường hợp này, vì điều quan trọng là chúng ta phải hiểu một số điểm trước khi bắt đầu và tạo nhiều tệp cho chương trình của mình Nếu bạn muốn một cái gì đó toàn diện hơn một chút, vui lòng đọc lại bài đăng ngày 18 nơi chúng tôi lần đầu tiên đề cập đến hàng nhập khẩu Nhập thêm tên vào import math print(math.pi) # 3.14 7Nếu bạn có một tệp Python và bạn gõ cái này
Sau đó, nó sẽ hiển thị các tên hiện có trong không gian tên chung. Tên mô-đun sẽ nằm trong không gian tên chung, sẵn sàng để bạn sử dụng Nhập cho phép chúng tôi truy cập các phần tử của mô-đun đã nhậpSau khi nhập, chúng ta có thể làm như thế này để truy cập thứ gì đó bên trong mô-đun
Chúng tôi đã truy cập tên 8 bên trong mô-đun 9. Trong trường hợp này, đó là giá trị của hằng số toán học, piCác cách khác để nhập khẩuBạn có thể sử dụng từ khóa 0 để đặt tên khác cho mô-đun đã nhập trong mã của mình. Tôi không khuyên bạn nên làm điều này, mặc dù thỉnh thoảng bạn sẽ thấy nó được thực hiệnBạn cũng có thể sử dụng 1 để thêm hầu hết mọi thứ từ mô-đun vào không gian tên chung của mình. Điều này có thể "làm ô nhiễm" không gian tên toàn cầu, lấp đầy nó bằng các biến. Hầu hết thời gian, nó không được khuyến khích mạnh mẽTại sao phải chia mã của bạn thành các tệp?Bây giờ chúng tôi đã nhanh chóng tóm tắt lại chủ đề nhập, hãy nói về lý do tại sao chúng tôi có thể muốn chia mã của mình thành nhiều tệp Câu hỏi đầu tiên chúng tôi nhận được khi bắt đầu thảo luận về vấn đề này là. "không dễ dàng hơn để giữ mã trong một tệp sao?" Rốt cuộc, sau đó bạn không phải đối phó với hàng nhập khẩu Giữ mã của bạn trong một tệp có thể giúp viết dễ dàng hơn (bắt đầu bằng. ), nhưng khi bạn viết nhiều hơn, nó sẽ khiến việc đọc và sửa đổi trở nên khó khăn hơn nhiều Trong lập trình, khả năng đọc và khả năng bảo trì vượt trội hơn tốc độ viết bất kỳ ngày nào Tách mối quan tâm và dễ tổ chứcKhi chúng tôi tách mã thành các tệp, điều quan trọng là chúng tôi có lý do để đặt một số mã vào một tệp nhất định. Thông thường, chúng ta đi theo mối quan tâm. Mã thực hiện một việc đi vào một tệp và mã thực hiện việc khác đi vào một tệp khác Ví dụ: chúng tôi có thể có một tệp để tương tác với người dùng (bản in và đầu vào) và một tệp khác để lưu trữ dữ liệu (lưu và truy xuất mọi thứ từ một tệp) Hiện tại, các mối quan tâm khác nhau của ứng dụng Python có thể không rõ ràng đối với bạn. Điều đó là bình thường. Theo thời gian, bạn sẽ tìm hiểu thêm về điều này. Với nhiều kinh nghiệm hơn, mọi thứ sẽ trở nên rõ ràng hơn khi mọi thứ sẽ được hưởng lợi từ việc chia thành các tệp Tách các tệp theo mối quan tâm, giả sử chúng tôi đặt cho các tệp tên tốt, cũng giúp chúng tôi tìm mã dễ dàng hơn. Nếu bạn có hai bộ phim có tên là ________ 52 và ________ 53, bạn sẽ biết mình sẽ tìm thấy gì trong mỗi bộ phim. Sử dụng tệp và thư mục cũng mang lại điều kỳ diệu cho tổ chức. Ví dụ, bạn có thể đặt các tệp liên quan đến làm việc với các loại lưu trữ dữ liệu khác nhau vào một thư mục Cải thiện khả năng đọcKhi các tệp của bạn phát triển, chúng bắt đầu khó đọc hơn. Bạn có thể có nhiều hàm và biến, và việc tìm kiếm mọi thứ có thể cần phải cuộn nhiều lần Các trình soạn thảo hiện đại có các tính năng giúp dễ dàng tìm thấy nơi mọi thứ được xác định, nhưng đây không phải là một giải pháp hoàn hảo Chia mã của bạn thành nhiều tệp là một cách tuyệt vời để tạo các tệp nhỏ hơn, tập trung hơn. Điều hướng các tệp nhỏ hơn sẽ dễ dàng hơn và do đó sẽ hiểu được nội dung của từng tệp này Dễ sử dụng lại mã hơnKhi bạn có nhiều tệp nhỏ hơn, tập trung, việc sử dụng lại nội dung của một tệp trong nhiều tệp khác sẽ dễ dàng hơn bằng cách nhập Quá nhiều tệpCũng có thể có quá nhiều tệp. Đừng đặt mục tiêu làm cho các tệp của bạn càng nhỏ càng tốt. Thay vào đó, hãy khiến họ tập trung Nếu mỗi tệp liên quan đến một khía cạnh của ứng dụng của bạn và mọi tệp đều có tên hay, thì việc điều hướng dự án của bạn sẽ dễ dàng Làm việc với hai tệpHãy bắt đầu bằng cách đi vào một dự án Python mới (hoặc thay thế. nó thay thế) và tạo hai tệp. Hãy gọi chúng là 4 và 5Hãy nhớ rằng thay thế. nó sẽ luôn chạy 4 khi bạn nhấn nút "Chạy", như chúng tôi đã đề cập trong bài đăng ngày 0Vì cả hai tệp đều nằm trong cùng một thư mục nên bạn có thể nhập tệp này từ tệp kia Hãy nhập cái này vào 4chính. py ______5 Lưu ý rằng chúng tôi không nhập 5 mà chỉ nhập 9. Python làm phần còn lạiĐiều gì xảy ra khi bạn nhậpKhi chúng tôi nhập tệp, Python sẽ chạy tệp. Nó phải làm điều đó để xác định tên nào tồn tại trong tệp đó Sau đó, nó cung cấp tệp đó cho chúng tôi trong 4 bằng cách đặt tham chiếu đến mô-đun trong không gian tên chungHãy thêm một 71 trong 5tệp của tôi. py ______17 Và một cái khác trong 4chính. py ______21 Hãy thử chạy nó Bạn sẽ thấy rằng chúng tôi nhận được hai điều được in ra 2Đó là vì tệp 5 đã được thực thi. Nó chứa một cuộc gọi 71, vì vậy Python đã in nội dung raThật hiếm khi bạn viết mã như thế này. Thay vào đó, các tệp bạn nhập thường sẽ chứa các biến và hàm, vì vậy khi bạn nhập chúng, không có gì thực sự xảy ra cho đến khi bạn thực sự sử dụng các biến và hàm đó Hãy thêm điều gì đó thực tế hơn một chút vào 5. Có lẽ một cái gì đó như thế nàytệp của tôi. py ______26 Bây giờ trong 4, chúng ta có thể sử dụng hàm 78 mà chúng ta đã xác định trong 5chính. py ______30 Tuyệt quá Đó là ý chính của nó. tách mọi thứ thành các tệp và nhập chúng Cái gì (không) để đặt tên cho tệp của bạnKhông đặt tên cho các tệp của bạn giống như các mô-đun tích hợp Ví dụ: nếu bạn tạo một tệp mới và đặt tên là 10, bạn sẽ gặp rắc rốiĐó là bởi vì nếu một tệp khác cố gắng chuyển sang 11, thì bạn sẽ không nhập mô-đun 12 tích hợp sẵn cho phép chúng tôi nói chuyện với các tệp JSON. Thay vào đó, bạn sẽ nhập tệp 10 của mìnhPython luôn tìm trong thư mục dự án để nhập trước khi xem các gói tích hợp hoặc đã cài đặt Các tệp của bạn hoạt động giống như các mô-đunMọi thứ chúng tôi có thể làm với các mô-đun bên ngoài, chúng tôi có thể làm với các tệp của riêng mình
Sử dụng tệp và thư mụcBạn có thể tạo các thư mục cho các tệp của mình nếu bạn nghĩ rằng điều đó sẽ giúp ích cho việc tổ chức. Theo kinh nghiệm của tôi, nó thường làm Ví dụ: tạo một thư mục trong dự án của bạn có tên là 18 và chuyển 5 vào đó. Bây giờ cấu trúc tệp/thư mục của bạn sẽ trông như thế này 1Từ 4, bây giờ bạn phải sử dụng cú pháp hơi khác để nhập 5chính. py ______44 Khi nhập, dấu chấm ( 22) có nghĩa là "bên trong"Trong ví dụ trên, do đó, chúng tôi đang nhập 9 từ bên trong 18Nếu bạn có nhiều thư mục con, bạn sẽ cần sử dụng nhiều 22 để phân tách các cấp độ khác nhau của thư mục và tệp, như thế này 0Khi bạn đang nhập như thế này, bạn sẽ nhập những thứ cụ thể như chúng tôi đã thực hiện hoặc bạn sẽ sử dụng nhập bí danh. Một trong hai cái này đều tốt (cái đầu tiên thường tốt hơn)
Bạn thường sẽ không làm bất cứ điều gì như trong ví dụ dưới đây, bởi vì có thể mất khá nhiều thời gian để gõ ra 1Bạn cần tham khảo phần nhập hoàn chỉnh khi muốn sử dụng thứ gì đó, vì vậy bạn sẽ phải nhập rất nhiều vào mã của mình 28Bạn có thể làm điều đó nếu bạn không sử dụng tệp nhiều Chế độ tập lệnh so với. chế độ mô-đunKhi chúng tôi chạy một tệp (e. g. thay thế. nó, đó là 4), chúng tôi nói rằng tệp đó được chạy ở "chế độ tập lệnh"Khi chúng tôi nhập một tệp, tệp đó sẽ chạy ở "chế độ mô-đun" Hiện tại cấu trúc dự án của chúng tôi là như thế này 1Tôi sẽ xóa nội dung của cả hai tệp và tôi sẽ đặt tệp này vào 5tệp của tôi. py ______03 Và tôi sẽ làm điều này trong 4chính. py ______04 Bạn sẽ thấy đầu ra này 5Hãy nhớ rằng khi chúng tôi nhập, chúng tôi chạy tệp. Do đó, dòng đầu tiên thuộc về 5 và dòng thứ hai thuộc về 4Tệp mà chúng tôi chạy luôn có biến 64 với giá trị là 65. Đó đơn giản là cách Python cho chúng tôi biết rằng chúng tôi đã chạy tệp đóBất kỳ tệp nào không có 64 bằng với 65 đã được nhậpHãy thử di chuyển mọi thứ xung quanh và xem đầu ra được tạo bởi 5 thay đổi như thế nàoChỉ chạy mã trong chế độ tập lệnhĐôi khi chúng tôi muốn đưa một số mã vào một tệp, nhưng chúng tôi chỉ muốn mã đó chạy nếu chúng tôi thực thi tệp đó trực tiếp—chứ không phải nếu chúng tôi đã nhập tệp Vì chúng tôi biết rằng 64 phải bằng 65 để tệp được chạy, chúng tôi có thể sử dụng câu lệnh ifChúng ta có thể gõ cái này vào 5tệp của tôi. py ______06 Điều đó có thể cho phép chúng tôi chạy 5 (chúng tôi không thể làm điều đó thay thế. nó mà không cần một số cấu hình bổ sung) và xem chức năng 03 có hoạt động khôngĐó là một trong những trường hợp sử dụng chính của cấu trúc này. để giúp chúng tôi xem nội dung trong tệp có hoạt động hay không khi chúng tôi thường không muốn nó chạy Một trường hợp sử dụng khác dành cho các tệp mà bạn thường không tự chạy. Đôi khi bạn có thể ghi một tệp để chương trình khác sử dụng, chẳng hạn Sử dụng cấu trúc này sẽ cho phép bạn chạy tệp của mình để thử nghiệm, đồng thời không ảnh hưởng đến chức năng của tệp khi tệp được nhập bởi một chương trình khác bài tậpĐối với bài tập (chỉ) hôm nay, chúng tôi sẽ cung cấp cho bạn một loạt mã tất cả trong một tệp Truy cập mã tại đây Nhiệm vụ của bạn là chia đoạn code đó thành nhiều file. Bạn có thể chọn số lượng và tệp nào bạn muốn chia mã thành, nhưng hãy nghĩ về lý do tại sao bạn đặt từng đoạn mã trong mỗi tệp Sau đó, khi bạn hoàn tất, hãy xem giải pháp bài tập của chúng tôi để xem cách chúng tôi chia mã và tại sao Dự ánĐối với dự án hôm nay, chúng tôi sẽ sử dụng thư viện Python để tạo một số biểu đồ. Là một phần của dự án này, bạn sẽ phải cấu trúc tốt mã của mình để mã không trở thành một mớ hỗn độn không thể đọc được Làm cách nào để tạo tệp trong Python?Cách tạo tệp bằng Python. Trong Python, bạn sử dụng hàm open() với một trong các tùy chọn sau – "x" hoặc "w" – để tạo tệp mới . "x" – Tạo. lệnh này sẽ tạo một tệp mới khi và chỉ khi không có tệp nào tồn tại với tên đó, nếu không nó sẽ trả về lỗi.
Bạn có thể có nhiều tệp trong Python không?Python cung cấp khả năng mở cũng như làm việc với nhiều tệp cùng lúc . Các tệp khác nhau có thể được mở ở các chế độ khác nhau, để mô phỏng việc ghi hoặc đọc đồng thời từ các tệp này. |