PEP 8 cho biết:
- Dữ liệu nhập luôn được đặt ở đầu tệp, ngay sau bất kỳ nhận xét và chuỗi tài liệu nào của mô-đun, và trước toàn cầu và hằng số mô-đun.
Khi xảy ra, tôi vi phạm PEP 8. Một số lần tôi nhập nội dung bên trong các hàm. Theo nguyên tắc chung, tôi thực hiện việc này nếu có một lần nhập chỉ được sử dụng trong một hàm duy nhất.
Có ý kiến gì không?
CHỈNH SỬA (lý do tôi cảm thấy nhập các hàm có thể là một ý kiến hay):
Lý do chính: Nó có thể làm cho mã rõ ràng hơn.
- Khi nhìn vào mã của một hàm, tôi có thể tự hỏi: "Hàm / lớp xxx là gì?" (xxx đang được sử dụng bên trong hàm). Nếu tôi có tất cả các lần nhập của mình ở đầu mô-đun, tôi phải đến đó để xác định xxx là gì. Đây là một vấn đề nhiều hơn khi sử dụng
from m import xxx
. Xemm.xxx
trong chức năng có lẽ cho tôi biết thêm. Tùy thuộc vào điều gìm
: Nó có phải là một mô-đun / gói (import m
) cấp cao nhất nổi tiếng không? Hay nó là một mô-đun con / gói (from a.b.c import m
)? - Trong một số trường hợp, có thêm thông tin ("xxx là gì?") Gần nơi xxx được sử dụng có thể làm cho hàm dễ hiểu hơn.