Khi nghi ngờ, tôi thường đặt các câu lệnh nhập của mình ở đầu mô-đun. Thông thường, điều này sẽ giảm bớt sự lặp lại, điều này rất hay. Tuy nhiên, có một nhược điểm hiệu suất trong trường hợp chỉ có một hàm duy nhất (hoặc lớp) yêu cầu nhập khẩu?Nhập bằng Python ở mức chức năng VS. Cấp mô-đun
thực hiện những điều sau đây chỉ nhập khi chức năng được gọi?
def func():
from task import test
Nếu vậy, tôi hình dung rằng có thể có hiệu quả nhỏ. Tôi cũng giả định rằng bạn có thể nhận được một số điểm bổ sung để thu thập rác nhanh hơn và phạm vi biến đổi, vì các đối tượng đã nhập sẽ không được thêm vào từ điển chung. Là một người đăng khác độc đáo đặt nó:
Điều này chủ yếu là do tra cứu biến. Tìm kiếm một biến trong phạm vi toàn cầu yêu cầu tra cứu từ điển. Ngược lại, trình biên dịch xác định tên địa phương tĩnh và tham chiếu chúng theo chỉ mục, do đó không cần tra cứu từ điển.
Có phải những giả định công bằng đó là tôi hoàn toàn không có cơ sở?
Cảm ơn
Đối với hiệu suất tra cứu tên: ** Nó không quan trọng. ** Trong trường hợp hiếm hoi, bạn sẽ tìm ra khi bạn đã hoàn thành mã, phát hiện ra nó quá chậm và được lược tả. – delnan