Bối cảnh: Tôi có một vài vòng chặt chẽ trong một chương trình Python được gọi là liên tục, trong đó bao gồm các phương pháp datetime.datetime.now()
, cũng như datetime.datetime.min
và datetime.datetime.max
thuộc tính. Để tối ưu hóa, tôi muốn nhập chúng vào không gian tên địa phương, tránh sự lặp đi lặp lại, mô-đun không cần thiết tên hệ thống cấp bậc nhìn lên, như vậy:làm thế nào để nhập khẩu trực tiếp tại() từ datetime.datetime submodule
from datetime.datetime import now, min, max
Tuy nhiên, Python phàn nàn:
Traceback (most recent call last):
File "my_code.py", line 1, in <module>
from datetime.datetime import now, min, max
ImportError: No module named datetime
Câu hỏi : Tại sao công việc nhập mô-đun con trên không?
Cách giải quyết: tôi thay vì có thể làm điều này:
import datetime
dt_now = datetime.datetime.now
dt_min = datetime.datetime.min
dt_max = datetime.datetime.max
Nhưng, tôi tò mò tại sao phương pháp truyền thống không hoạt động? Tại sao tôi không thể nhập các phương thức và thuộc tính trực tiếp từ datetime.dateime submodule? ... Và, có lý do nào để tránh cách giải quyết ở trên không (ngoài khả năng đọc được, outsmarting bản thân mình, v.v.)?
Cảm ơn!
có thể bạn không nên nhập tối đa và tối thiểu hoặc bạn có thể có kết quả không mong muốn khi bạn gọi hàm tối thiểu hoặc hàm tối đa –
@PadraicCunningham, bạn nói đúng. Đó là lý do tại sao tôi thay đổi tên trong cách giải quyết của mình, nhưng tôi đã quá lười để thêm "như" để đổi tên chúng trong ví dụ ban đầu của tôi. :) – Trevor