2012-06-02 35 views
20

Tôi có một số tệp rỗng, __init__.py trong các gói của mình. Có đúng không nếu tôi giữ chúng trống hoặc tôi có phải đặt pass bên trong chúng không?Tệp __init__.py trống có đúng không?

Có bất kỳ nguyên tắc PEP hoặc hướng dẫn nào khác về chủ đề này không?

+2

'pass' chỉ cần thiết khi có khối thụt lề (sau' def', 'if',' while' et cetera) và bạn muốn để trống. –

Trả lời

23

file rỗng là perfectly fine:

Các __init__.py tập tin được yêu cầu thực hiện Python đối xử với các thư mục có chứa các gói; điều này được thực hiện để ngăn các thư mục có tên chung, chẳng hạn như chuỗi, từ vô tình ẩn các mô-đun hợp lệ xảy ra sau này trên đường dẫn tìm kiếm mô-đun. Trong trường hợp đơn giản nhất, __init__.py có thể chỉ là một tệp rỗng, nhưng nó cũng có thể thực thi mã khởi tạo cho gói hoặc đặt biến số __all__, được mô tả sau.

Tùy thuộc vào những gì bạn có kế hoạch để làm điều đó là một nơi tốt để nhập khẩu những thứ nào từ các module trong gói bạn để mọi người có thể dễ dàng sử dụng from yourpackage import whatever thay vì phải sử dụng from yourpackage.somemodule import whatever.

Các vấn đề liên quan