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

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.2 Eigene Module  Zur nächsten ÜberschriftZur vorigen Überschrift

Nachdem Sie in die unendlichen Weiten der import-Anweisung eingeführt wurden, möchten wir uns damit beschäftigen, wie Module selbst erstellt und eingebunden werden können. Beachten Sie, dass es sich hier nicht um eine Bibliothek handelt, die in jedem Python-Programm zur Verfügung steht, sondern um ein Modul, das nur lokal in Ihrem Python-Programm genutzt werden kann. Von der Verwendung her unterscheiden sich Module und Bibliotheken kaum. In diesem Abschnitt soll ein Programm erstellt werden, das eine ganze Zahl einliest, deren Fakultät und Kehrwert berechnet und die Ergebnisse ausgibt. Die mathematischen Berechnungen sollen dabei nicht nur in Funktionen, sondern auch in einem eigenen Modul gekapselt werden. Dazu schreiben wir diese zunächst in eine Datei namens mathematik.py:

def fak(n): 
    ergebnis = 1 
    for i in xrange(2, n+1): 
        ergebnis *= i 
    return ergebnis 
 
def kehr(n): 
    return 1.0 / n

Die Funktionen sollten selbsterklärend sein. Beachten Sie, dass die Datei mathematik.py selbst keinerlei Code ausführt, sondern nur Funktionen bereitstellt, die aus anderen Modulen heraus aufgerufen werden können.

Jetzt erstellen wir eine Programmdatei namens programm.py, in der das Hauptprogramm stehen soll. Beide Dateien müssen sich im selben Verzeichnis befinden. Im Hauptprogramm importieren wir zunächst das lokale Modul mathematik. Der Modulname eines lokalen Moduls entspricht dem Dateinamen der zugehörigen Programmdatei ohne Dateiendung. Beachten Sie, dass der Modulname den Regeln der Namensgebung eines Bezeichners folgen muss. Das bedeutet insbesondere, dass, abgesehen von dem Punkt vor der Dateiendung, kein Punkt im Dateinamen erlaubt ist.

import mathematik
while True: zahl = int(raw_input("Geben Sie eine ganze Zahl ein: ")) print "Fakultaet: ", mathematik.fak(zahl) print "Kehrwert: ", mathematik.kehr(zahl)

Sie sehen, dass das lokale Modul im Hauptprogramm wie eine Bibliothek importiert und verwendet werden kann.

Durch das Erstellen eigener Module kann es leicht zu Namenskonflikten mit der Standardbibliothek kommen. Beispielsweise hätten wir unsere obige Programmdatei auch math.py und das Modul demzufolge math nennen können. Dieses Modul stünde im Konflikt mit der Bibliothek math. Für solche Fälle ist dem Interpreter eine Reihenfolge vorgegeben, nach der er zu verfahren hat, wenn ein Modul oder eine Bibliothek importiert werden soll:

  • Zunächst wird der lokale Programmordner nach einer Datei mit dem entsprechenden Namen durchsucht. In dem oben geschilderten Konfliktfall würde bereits im ersten Schritt feststehen, dass ein lokales Modul namens math existiert. Wenn ein solches lokales Modul existiert, wird dieses eingebunden und keine weitere Suche durchgeführt.
  • Wenn kein lokales Modul des angegebenen Namens gefunden wurde, wird die Suche auf Bibliotheken ausgeweitet.
  • Wenn auch keine Bibliothek mit dem angegebenen Namen gefunden werden konnte, wird ein ImportError erzeugt:
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ImportError: No module named abc

Galileo Computing - Zum Seitenanfang

11.2.1 Modulinterne Referenzen  topZur vorigen Überschrift

In jedem Modul existieren globale Variablen, die Informationen über das Modul selbst enthalten. An dieser Stelle soll ein Überblick über diese recht überschaubare Anzahl von Referenzen gegeben werden. Beachten Sie, dass es sich jeweils um zwei Unterstriche vor und hinter dem Namen der Referenz handelt.


Tabelle 11.1  Globale Variablen in einem Modul
Referenz Beschreibung

__builtins__

Referenziert ein Dictionary, das die Namen aller eingebauten Typen und Funktionen als Schlüssel und die mit den Namen verknüpften Instanzen als Werte enthält.

__file__

Referenziert einen String, der den Namen der Programmdatei des Moduls inklusive Pfad enthält.

Nicht bei Modulen der Standardbibliothek verfügbar.

__name__

Referenziert einen String, der den Namen des Moduls enthält.




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





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de