Vollständige Importe in Python (Vollständige Importe in Python), Lektion, Seite 724077
https://www.purl.org/stefan_ram/pub/vollstaendige_importe_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Vollständige Importanweisungen in Python 

Beispiel

Eine vollständige Importanweisung wird wie eine from-Importanweisung geschrieben, enthält am Ende aber ein Sternchen »*« an Stelle eines Namens.

Auf diese Weise werden alle  Namen aus dem angegebenen Modul importiert.

Protokoll (gekürzt und frei übersetzt)
pi
Namensfehler: Der Name 'pi' ist nicht definiert!
tau
Namensfehler: Der Name 'tau' ist nicht definiert!
e
Namensfehler: Der Name 'e' ist nicht definiert!

(Die obige Fehlermeldungen erscheinen unter Umständen erst nach einem Neustart der Python -Implementation [also der Konsole].)

Protokoll

from math import *

pi

3.141592653589793
tau
6.283185307179586
e
2.718281828459045

Syntax

Wir erweitern die Syntax der from-Importanweisung um den Stern »*«.

Syntaxdiagramm

from-Importanweisung

.----. .------. .------. .------.
--->( from )--->| Name |--->( import )---.--->| Name |---.--->
'----' '------' '------' | '------' ^
| .-. |
'---->( * )-----'
'-'

Anweisung

.----------------------.
---.--->| Auswertungsanweisung |---.--->
| '----------------------' |
| .----------------------. |
'--->| from-Importanweisung |---'
'----------------------'

Semantik

(Die Semantik  einer vollständigen Importanweisung wurde schon bei der Behandlung des einführenden Beispiels angegeben.)

Stil

In general, don’t use from modulename import *. 
Python Frequently Asked Questions  (Release 3.9.0a3), Abschnitt “2.2.5 What are the “best practices” for using import in a module? 

Vollständige Importe findet man meist in Ad-hoc-Programmen. In bibliotheksfähigem Code werden sie meist vermieden, weil durch den Import gar nicht benötigter Namen Probleme verursacht werden können:

Da einige der genannten Probleme erst bei mehreren  Importen auftreten können, ist es weniger schlimm, wenn ein Ad-hoc-Programm nur eine einzige Importanweisung  enthält und diese ein vollständiger Import ist.

Im weiteren Verlaufe dieses Kurses werden vollständige Importe manchmal für Ad-hoc-Programme  verwendet werden, weil dies in manchen Fällen etwas Zeit bei Bearbeitungen der Programm spart. Man sollte sich dies aber nicht  zum Vorbild nehmen, wenn man bibliotheksfähigen Code  schreiben will!

Eine kurze Schreibweise zum Import der drei Namen »pi«, »tau« und »e«, die kein  schlechter Stil ist, ist: »from math import pi, tau, e«.

Teilnehmerfrage: Warum sind nicht gleich alle  Namen importiert?

Bestimmte verbreitete Namen, wie »size« oder »name« sind in verschiedenen  Modulen definiert. Man kann aber nur einen  davon importieren. Daher ist es gar nicht möglich, alle  Namen zu importieren. Hinzu kommt noch, daß der Import aller möglicher Namen einige der Nachteile hätte, die weiter oben für vollständige Importe beschrieben wurden.

Zitate zu Themen dieser Lektion ⃗

The Python Language Reference, Release 3.8.0a0

2.3.2 Reserved classes of identifiers

Certain classes of identifiers (besides keywords) have special meanings. These classes are identified by the
patterns of leading and trailing underscore characters:

_* Not imported by from module import *. The special identifier _ is used in the interactive interpreter
to store the result of the last evaluation; it is stored in the builtins module. When not in interactive
mode, _ has no special meaning and is not defined. See section The import statement.

Note: The name _ is often used in conjunction with internationalization; refer to the documentation
for the gettext module for more information on this convention.

 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724077 stefan_ram:724077 Vollständige Importe in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724077, slrprddef724077, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/vollstaendige_importe_python