Gần đây tôi đã được thông báo rằng tôi nên giữ mã của mình trong các tệp riêng biệt; như main.py
, engine.py
, settings.py
và cứ tiếp tục như vậy. Mặc dù điều này chắc chắn không có lợi ích, như quản lý dễ dàng hơn, khả năng mở rộng và những thứ khác, với tôi có vẻ như nó có quá nhiều hạn chế ...Làm cách nào để sắp xếp mã Python của tôi thành nhiều lớp?
Ví dụ: nếu tôi có một tập lệnh có tên là settings.py
. các đối tượng, tốc độ mô phỏng và màu sắc của các đối tượng khác nhau được xác định, tôi phải làm gì nếu các biến đó là cần thiết trong cả tập lệnh engine.py
và tập lệnh main.py
của tôi? Tôi có nhập hai lần trong cả hai tập lệnh không? Nó có vẻ khá lộn xộn. Điều gì sẽ xảy ra nếu một số lớp học của tôi có trong tập lệnh engine.py
, yêu cầu mã từ main.py
?
Hãy để tôi chỉ cho bạn những tình huống chính xác ...
main.py
Kịch bản của tôi nhập khẩu Pygame trong chính nó, khởi tạo nó, và vân vân. Nó được sử dụng để có một lớp đại diện cho một đối tượng trên màn hình, và lớp đó có một phương thức draw
, mà chỉ được gọi là một chức năng vẽ Pygame. Bây giờ, khi tôi đặt lớp bên trong kịch bản engine.py
của tôi, mọi thứ không còn hoạt động nữa, vì Pygame không tồn tại ở đó! Tôi đã nhập cả settings.py
và Pygame vào engine.py
, sau đó nhập động cơ vào main.py
, nhưng sau đó nó giống như một bộ khởi tạo hơn một động cơ ... Có cách nào để xử lý những thứ như thế này, như các đường dẫn chung không?
Dường như bạn đang cố gắng thu thập các mô-đun nhập vào đó bạn đã chia nhỏ mã của mình. Nếu đây là trường hợp, bạn nên thực sự chỉ cần nhập khẩu bất cứ nơi nào cần thiết. – inspectorG4dget
Bất kỳ rắc rối nào bạn cảm thấy chia nhỏ mã của bạn thành nhiều tệp sẽ trở nên nhợt nhạt so với khi bạn phải quay lại và duy trì một tệp 5000 dòng mà bạn chưa xem xét trong một vài tháng! –