Tôi đọc here về sắp xếp các câu lệnh import
bằng Python, nhưng nếu điều bạn đang nhập cần các phụ thuộc chưa được nhập? Đây có phải là sự khác biệt giữa các ngôn ngữ được biên dịch và được diễn giải không? Tôi đến từ một nền JavaScript và thứ tự mà bạn tải kịch bản của bạn quan trọng, trong khi Python dường như không quan tâm. Cảm ơn.Có phải vấn đề thứ tự nhập khẩu của Python
Trả lời
Không, không, bởi vì mỗi mô-đun python phải được tự chứa và nhập mọi thứ cần thiết. Điều này đúng với việc nhập toàn bộ mô-đun và chỉ các phần cụ thể của nó.
Thứ tự nhập không quan trọng. Nếu một mô-đun dựa vào các mô-đun khác, nó cần phải nhập chúng. Python xử lý mỗi tệp .py
dưới dạng đơn vị độc lập theo như những gì có thể nhìn thấy trong tệp đó.
(Về mặt kỹ thuật, thay đổi thứ tự nhập có thể thay đổi hành vi, vì mô-đun có thể có mã khởi chạy chạy khi được nhập lần đầu tiên. Nếu mã khởi tạo đó có thể có các mô-đun để tương tác với nhau. sẽ là một lỗ hổng thiết kế trong các mô-đun đó. Thứ tự nhập không phải là vấn đề, vì vậy mã khởi tạo cũng phải được viết thành không phụ thuộc vào bất kỳ thứ tự cụ thể nào.)
+1 cho bản in nhỏ. –
Nếu một người sử dụng (không được khuyến nghị) 'từ gói nhập *' mô hình, người ta cũng có thể ghi đè lên các định nghĩa. Ví dụ này xảy ra với 'from math import *' và 'from numpy import *'. –
Thứ tự nhập có thể quan trọng nếu hành vi '__init__' của mô-đun có tác dụng phụ. Ví dụ, nhập khẩu TensorFlow sẽ tiêu thụ tổng số bộ nhớ GPU có sẵn. Nếu bạn cố gắng nhập khẩu Caffe sau khi nhập TensorFlow, Caffe sẽ không thể yêu cầu bất kỳ tài nguyên bộ nhớ nào từ GPU (s). Có thể có những thứ đơn giản hơn với các mô đun mở rộng xác định cài đặt xung đột hoặc đặt khóa trên tệp. "Nhập" chỉ có nghĩa là "thực thi một số mã". Điều này rất phổ biến trong các thư viện được sử dụng rộng rãi, không hữu ích khi nói rằng lệnh nhập không quan trọng vì các tác dụng phụ khi nhập khẩu là một thực hành không tốt. – ely
Thứ tự nhập lệnh Python không quan trọng khi bạn đang nhập thư viện python chuẩn/modules. Tuy nhiên, thứ tự quan trọng đối với các ứng dụng cục bộ/thư viện nhập khẩu cụ thể của bạn vì bạn có thể bị mắc kẹt trong vòng lặp phụ thuộc vòng tròn, vì vậy hãy xem xét trước khi nhập.
- 1. Python unittest vấn đề nhập khẩu
- 2. vấn đề Python nhập khẩu với image2gif
- 3. Các vấn đề về Spark với nhập khẩu bằng Python
- 4. Vấn đề nhập khẩu Win32 DLL (DllMain)
- 5. cơ bản Python nhập khẩu chất vấn
- 6. Oracle: có phải vấn đề thứ tự cột trong chỉ mục không?
- 7. Python: `từ x nhập khẩu *` không nhập khẩu tất cả mọi thứ
- 8. Vấn đề nhập chế độ Python
- 9. vấn đề nhập xlrd với Python 2.7
- 10. Vấn đề xuất khẩu Phpmyadmin
- 11. Làm thế nào để xác định thứ tự nhập khẩu của MEF?
- 12. python lỗi bình nhập khẩu
- 13. Có thể nhập khẩu tối ưu hóa của PyCharm cũng được sắp xếp theo thứ tự bảng chữ cái không?
- 14. Python: Nhập khẩu Mô-đun
- 15. Python: nhập khẩu tập hợp ký tự đại diện
- 16. Vấn đề quyền của MySQL - không phải là vấn đề
- 17. Nhập khẩu Mocking bằng Python
- 18. Django vấn đề mật khẩu
- 19. nhập khẩu Sqoop có truy vấn SQL với mệnh đề where
- 20. Python lỗi scapy nhập khẩu
- 21. động mô-đun nhập khẩu bằng Python
- 22. css hướng rtl thứ tự nguyên tố vấn đề
- 23. gói Nhập khẩu bằng Python
- 24. Vấn đề với thứ tự độ phân giải constructor
- 25. Đổi Tên của nhập khẩu trong Java, hoặc nhập khẩu hai lớp có cùng tên
- 26. đường dẫn trăn và thứ tự nhập
- 27. nhập khẩu bên trong của một sợi Python
- 28. ORA-00907 Thiếu vấn đề ngoặc đơn phải - chọn theo thứ tự bên trong chèn truy vấn
- 29. Nhúng Python vào C - module nhập khẩu
- 30. nguyên cảo 1.5: ES6 Mô-đun nhập khẩu mặc định của CommonJS 'xuất khẩu =' (chỉ .d.ts vấn đề?)
Vì vậy, điều này đúng với phương pháp nhập? Giống như: 'từ x nhập xx' – Dusty