Tôi gặp sự cố khi nhập gói scipy.special
. Nó không có hại, chỉ gây phiền nhiễu/thú vị.scipy.special import issue
Khi tôi nhập scipy sử dụng import scipy as sp
và sau đó cố gắng truy cập sp.special
tôi nhận được:
>>> import scipy as sp
>>> sp.special
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'special'
>>>
nhưng nếu tôi sau đó làm import scipy.special
tôi có thể truy cập vào các mô-đun đặc biệt thông qua scipy.special
và sp.special
:
>>> import scipy as sp
>>> import scipy.special
>>> scipy.special
<module 'scipy.special' from 'C:\Python27\lib\site-packages\scipy\special\__init__.pyc'>
>>> sp.special
<module 'scipy.special' from 'C:\Python27\lib\site-packages\scipy\special\__init__.pyc'>
>>>
Vì vậy, bây giờ tôi có mô-đun special
có thể truy cập thông qua cả hai không gian tên sp
và scipy
. Điều thú vị là tôi có thể truy cập phần còn lại của scipy thông qua không gian tên scipy
.
Câu hỏi đầu tiên: Tại sao mô-đun special
không nhập lần đầu tiên?
Câu hỏi thứ hai: Làm cách nào tôi có thể truy cập vào mô-đun special
chỉ qua không gian tên sp
mà không cần xác định không gian tên scipy
?
Chỉnh sửa: sử dụng Python 2.7.2 và scipy 0.10.1
Xin cảm ơn, tôi sẽ ghi nhớ điều đó trong tương lai. Có bất kỳ nơi nào trong tài liệu nêu rõ điều này không? Tôi không thể thấy nhận xét như vậy trong tài liệu [API] (http://docs.scipy.org/doc/scipy-0.10.1/reference/api.html) –
Tôi biết đó là nhận xét cũ, nhưng đó là vẫn là Câu hỏi thường gặp, vì vậy, đây là một tài nguyên: http://docs.scipy.org/doc/scipy/reference/api.html#guidelines-for-importing-functions-from-scipy –