import

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Üpsilon
User
Beiträge: 188
Registriert: Samstag 15. September 2012, 19:23
Wohnort: Altschauerberg 8 in 91448 Emskirchen

import

Beitragvon Üpsilon » Donnerstag 12. Oktober 2017, 19:56

Bin schon seit Jahren bei Python, wurde aber dennoch letztens überrascht.

Wieso funktioniert z.B.

Code: Alles auswählen

from sklearn import cluster

aber

Code: Alles auswählen

import sklearn
sklearn.cluster
nicht?

Die Python-Doku über import hat mir bis jetzt nicht zur Klarheit verholfen.

Liebe Grüße!
PS: Die angebotene Summe ist beachtlich.
Sirius3
User
Beiträge: 6385
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: import

Beitragvon Sirius3 » Donnerstag 12. Oktober 2017, 19:59

@Üpsilon: Unterpakete werden nicht automatisch importiert, wenn man das Hauptpaket importiert. So wird nur das importiert, was auch gebraucht wird.
Benutzeravatar
snafu
User
Beiträge: 5248
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Re: import

Beitragvon snafu » Donnerstag 12. Oktober 2017, 23:36

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.
shcol (Repo | Doc | PyPi)
Üpsilon
User
Beiträge: 188
Registriert: Samstag 15. September 2012, 19:23
Wohnort: Altschauerberg 8 in 91448 Emskirchen

Re: import

Beitragvon Üpsilon » Freitag 13. Oktober 2017, 21:19

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.
PS: Die angebotene Summe ist beachtlich.
Benutzeravatar
__deets__
User
Beiträge: 1101
Registriert: Mittwoch 14. Oktober 2015, 14:29

Re: import

Beitragvon __deets__ » Freitag 13. Oktober 2017, 21:53

Genau. Es ist etwas verwirrend durch Module wie os welches sein untermodul path Gleich mit importiert.
Üpsilon
User
Beiträge: 188
Registriert: Samstag 15. September 2012, 19:23
Wohnort: Altschauerberg 8 in 91448 Emskirchen

Re: import

Beitragvon Üpsilon » Freitag 13. Oktober 2017, 21:54

Okay dankeschön :D
PS: Die angebotene Summe ist beachtlich.
Benutzeravatar
snafu
User
Beiträge: 5248
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Re: import

Beitragvon snafu » Freitag 13. Oktober 2017, 23:13

Ü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:
  1. import spam
  2. print(spam.ham.eggs.get_foo())
shcol (Repo | Doc | PyPi)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]