Ich bin verwirrt durch die Tatsache, dass einige Module in Scipy sind eigentlich nicht Teil der Bibliothek, sondern sind eher Aufrufe an Module in Numpy.Welche Scipy-Module werden eigentlich zu Numpy-Modulen aufgerufen?
Ein Beispiel für alle ist linalg
:
import scipy
scipy.linalg
das gibt
AttributeError: 'module' object has no attribute 'linalg'
auf der anderen Seite, der richtige Weg, es von Scipy zu nennen, ist
from scipy import linalg
scipy.linalg
das muss ein Griff sein für
numpy.linalg
Wie funktioniert das? Und was unterscheidet Numpy und Scipy dann?
Werfen Sie einen Blick auf ['scipy/__ init __. Py'] (https://github.com/scipy/scipy/blob/master/scipy/__init__.py) - einige der Import-Magie ist es [dokumentiert da] (https://github.com/scipy/scipy/blob/master/scipy/__init__.py#L15-L16), und es scheint tatsächlich [einige besondere Magie in Bezug auf 'linalg'] zu geben (https: // github.com/scipy/scipy/blob/master/scipy/__init__.py#L78-L82). –
@LukasGraf Vielen Dank! Also ist der erforderliche explizite Import wegen Namenskonflikt mit den Numpy-Einsen? –
@martina: Nein, Sie müssen diejenigen, die nicht in Konflikt stehen, explizit importieren. – user2357112