Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by haas.homelinux.net...

Inhaltsverzeichnis
1 Einleitung
2 Überblick über Python
3 Die Arbeit mit Python
4 Der interaktive Modus
5 Grundlegendes zu Python-Programmen
6 Kontrollstrukturen
7 Das Laufzeitmodell
8 Basisdatentypen
9 Benutzerinteraktion und Dateizugriff
10 Funktionen
11 Modularisierung
12 Objektorientierung
13 Weitere Spracheigenschaften
14 Mathematik
15 Strings
16 Datum und Zeit
17 Schnittstelle zum Betriebssystem
18 Parallele Programmierung
19 Datenspeicherung
20 Netzwerkkommunikation
21 Debugging
22 Distribution von Python-Projekten
23 Optimierung
24 Grafische Benutzeroberflächen
25 Python als serverseitige Programmiersprache im WWW mit Django
26 Anbindung an andere Programmiersprachen
27 Insiderwissen
28 Zukunft von Python
A Anhang
Stichwort

Download:
- ZIP, ca. 4,8 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Python von Peter Kaiser, Johannes Ernesti
Das umfassende Handbuch - Aktuell zu Python 2.5
Buch: Python

Python
gebunden, mit CD
819 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1110-9
Pfeil 11 Modularisierung
  Pfeil 11.1 Einbinden externer Programmbibliotheken
  Pfeil 11.2 Eigene Module
    Pfeil 11.2.1 Modulinterne Referenzen
  Pfeil 11.3 Pakete
    Pfeil 11.3.1 Importieren aller Module eines Pakets
    Pfeil 11.3.2 Relative Importanweisungen
  Pfeil 11.4 Built-in Functions


Galileo Computing - Zum Seitenanfang

11.4 Built-in Functions  topZur vorigen Überschrift

Es existieren zwei Built-in Functions, die sich auf Modularisierung, also auf das Einbinden von Modulen und Paketen beziehen. Diese Funktionen wurden in Abschnitt 10.7, »Vordefinierte Funktionen«, nicht erläutert, da das Konzept der Modularisierung Ihnen zu diesem Zeitpunkt noch nicht bekannt war. Aus diesem Grund soll die Beschreibung der Built-in Functions __import__ und reload an dieser Stelle nachgeholt werden. Beachten Sie, dass diese beiden Funktionen nur in wenigen Fällen benötigt werden und daher an dieser Stelle nur oberflächlich erläutert werden. Ausführliche Informationen über die Funktionen finden Sie in der Python-Dokumentation.

__import__(name[, globals[, locals[, fromlist[, level]]]])

Die Built-in Function __import__ wird von der import-Anweisung verwendet, um ein Modul oder Paket einzubinden. Die Funktion existiert hauptsächlich, damit sie vom Programmierer überschrieben werden kann, um das Verhalten der import-Anweisung zu verändern. Zum Überschreiben der Funktion muss eine neue Funktion mit gleicher Schnittstelle erstellt und dem Namen __import__ zugewiesen werden.

Die Funktion __import__ bindet das Modul oder Paket name ein und gibt den erzeugten Namensraum zurück. Dabei kann für globals und locals jeweils ein Dictionary übergeben werden, das alle Referenzen des globalen bzw. lokalen Namensraums enthält. Ein solches Dictionary wird von den Built-in Functions globals und locals erstellt. Für den vierten Parameter, fromlist, kann eine Liste mit Namen übergeben werden, die aus dem Modul name eingebunden werden sollen. Der fünfte Parameter, level, gibt an, ob absolutes oder relatives Importverhalten verwendet werden soll (vgl. Abschnitt 11.3.2). Der voreingestellte Wert von -1 weist die Funktion __import__ dazu an, sowohl absolutes als auch relatives Importverhalten zu zeigen. Ein Wert von 0 würde absolutes Importverhalten vorschreiben, während ein positiver Wert größer null die Anzahl der übergeordneten Verzeichnisse festlegt, die beim relativen Importverhalten mit einbezogen werden sollen.

Die beiden import-Anweisungen

import bla 
from blubb import hallo, welt

resultieren intern in den folgenden Aufrufen von __import__:

__import__("bla") 
__import__("blubb", globals(), locals(), ["hallo", "welt"], -1)
reload(module)

Mithilfe der Funktion reload kann ein bereits eingebundenes Modul oder Paket erneut geladen und initialisiert werden. Das ist besonders dann sinnvoll, wenn ein selbst geschriebenes Modul in einer Sitzung im interaktiven Modus eingebunden ist und während der Sitzung Änderungen am Quelltext des Moduls durchgeführt wurden. In einem solchen Fall kann die Funktion reload dazu verwendet werden, das Modul neu einzubinden, ohne die Sitzung im interaktiven Modus beenden zu müssen. Beachten Sie, dass ein Modul nicht mit einer erneuten import-Anweisung neu eingebunden werden kann, da diese zuerst überprüft, ob das Modul bereits eingebunden und initialisiert wurde.

Allgemein ist von der Verwendung von reload vor allem im Quelltext eines Programms, also außerhalb des interaktiven Modus, abzuraten, da das Neuinitialisieren eines Moduls Probleme hervorrufen kann. Diese Probleme sind zum Teil sehr speziell und sollen hier nicht weiter erläutert werden. Eine genaue Beschreibung der möglichen Probleme finden Sie in der Python-Dokumentation.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Python






Python
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Linux






 Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Praxisbuch Web 2.0






 Praxisbuch Web 2.0


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Praxisbuch Objektorientierung






 Praxisbuch Objektorientierung


Zum Katalog: Einstieg in SQL






 Einstieg in SQL


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo