Seite 2 von 2
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 16:03
von mutetella
MoonKid hat geschrieben:... obwohl Pythons Philosophie sowas ja verhindern möchte.
Wie kommst Du darauf?
mutetella
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 16:55
von /me
mutetella hat geschrieben:Wie kommst Du darauf?
Code: Alles auswählen
>>> import this
[...]
There should be one-- and preferably only one --obvious way to do it.
[...]
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 17:16
von mutetella
@/me
Wobei sich Python selbst nicht daran hält, wie man in diesem Fall sieht. Ich denke auch nicht, dass sich das hierauf ableiten ließe. Es sollte IMHO immer verschiedene Wege geben [dürfen], etwas zu lösen.
mutetella
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 17:57
von BlackJack
@mutetella: Dürfen ja, aber wenn es mehrere Wege gibt, was ja meistens der Fall ist, es aber einen *offensichtlichen* gibt der von allen anderen benutzt wird, sollte man diesem „ausgetretenen Pfad” folgen. Und inwiefern hält sich Python da nicht dran? Python selbst will und kann niemanden daran hindern unsinnige oder ungewöhnliche Sachen zu machen.
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 18:34
von mutetella
@BlackJack
Ok, ich hab' dem 'obvious' zu wenig Bedeutung gegeben... Wobei eben dieser ``import`` Fall zeigt, dass Python mit Sternchenimporten etwas zur Verfügung stellt, das neben den offensichtlichen und empfehlenswerten Methoden eine gegensätzliche Möglichkeit bietet.
mutetella
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 19:41
von /me
mutetella hat geschrieben:Wobei eben dieser ``import`` Fall zeigt, dass Python mit Sternchenimporten etwas zur Verfügung stellt, das neben den offensichtlichen und empfehlenswerten Methoden eine gegensätzliche Möglichkeit bietet.
PEP-8 zeigt einen (und zwar exakt einen) möglichen sinnvollen Anwendungsfall für Sternchen-Importe auf.
Re: Grundlage "import"
Verfasst: Mittwoch 14. Januar 2015, 19:44
von BlackJack
@mutetella: Der Sternchenimport hat seine Berechtigung in der Python-Shell und auch bei Modulen die explizit dafür gedacht sind auf diese Weise importiert zu werden. Ein Beispiel wäre `pygame.locals` was eben nicht *alles* aus `pygame` importiert sondern nur ausgewähltes, zum Beispiel die ganzen Konstanten für Tastenwerte oder Eventtypen. Oder wenn man den Inhalt eines Moduls über ein anderes zur Verfügung stellen möchte.