Seite 1 von 1
import
Verfasst: Donnerstag 12. Oktober 2017, 19:56
von Üpsilon
Bin schon seit Jahren bei Python, wurde aber dennoch letztens überrascht.
Wieso funktioniert z.B.
aber
nicht?
Die Python-Doku über
import hat mir bis jetzt nicht zur Klarheit verholfen.
Liebe Grüße!
Re: import
Verfasst: Donnerstag 12. Oktober 2017, 19:59
von Sirius3
@Üpsilon: Unterpakete werden nicht automatisch importiert, wenn man das Hauptpaket importiert. So wird nur das importiert, was auch gebraucht wird.
Re: import
Verfasst: Donnerstag 12. Oktober 2017, 23:36
von snafu
sklearn.cluster funktioniert nur, wenn zuvor in sklearn ein import cluster gemacht wurde. Der Punktoperator sorgt nicht automatisch dafür, dass ein Untermodul (oder -paket) verfügbar ist. Dies funktioniert grundsätzlich nur beim import-Statement, d.h. die Angabe von import sklearn.cluster tut das, was du erwartest.
Re: import
Verfasst: Freitag 13. Oktober 2017, 21:19
von Üpsilon
Verstehe ich das richtig:
Mit dem Punkt kann man Werte aus einem Modul holen, nicht aber Unterpackages aus einem Package.
Außer beim import, wo man den Punkt benutzt, um den "Pfad" zum Modul anzugeben.
Re: import
Verfasst: Freitag 13. Oktober 2017, 21:53
von __deets__
Genau. Es ist etwas verwirrend durch Module wie os welches sein untermodul path Gleich mit importiert.
Re: import
Verfasst: Freitag 13. Oktober 2017, 21:54
von Üpsilon
Okay dankeschön

Re: import
Verfasst: Freitag 13. Oktober 2017, 23:13
von snafu
Üpsilon hat geschrieben:Mit dem Punkt kann man Werte aus einem Modul holen, nicht aber Unterpackages aus einem Package.
Wie gesagt: Wenn das Unterpackage den Import bereits in
__init__.py getätigt hat, dann ist das kein Thema. Dann funktioniert auch dies: