11. Lektion: Module: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 27: Line 27:
#: importiert die angegebenen Funktionen in den Namensraum des aufrufenden Namensraums.
#: importiert die angegebenen Funktionen in den Namensraum des aufrufenden Namensraums.
#: * bedeutet, es wird alles importiert.
#: * bedeutet, es wird alles importiert.
#: Dieser Aufruf sollte vermieden werden, weil es zu Namenskonflikten kommen kann.
#: Stattdessen soll der gewünschte Funktionname oder mehrere, durch Komma getrennte Funktionsnamen benutzt werden.
#: <pre>from os import time</pre>
#; Anwendung:  
#; Anwendung:  
#: <pre>aliasname.funktionsname()</pre>
#: <pre>funktionsname()</pre>
# <pre>from modulname import funktion as aliasname_der_funktion</pre>
# <pre>from modulname import funktion as aliasname_der_funktion</pre>


== Module selbst schreiben==
== Module selbst schreiben==

Revision as of 20:48, 4 August 2023

Was sind Module ?

Module sind Sammlungen von Funktionen, die in einer Datei zusammen gefasst sind.
In anderen Programmiersprachen werden sie Bibliotheken genannt.

Was ist in einem Modul drin ?

dir(modulname)

zeigt den Inhalt eines Moduls an.

>>> dir(time)
['__class__', '__name__', 'localtime', 'mktime', 'sleep', 'sleep_ms', 'sleep_us', 
'ticks_add', 'ticks_cpu', 'ticks_diff', 'ticks_ms', 'ticks_us', 'time']

Module benutzen

Module müssen importiert werden bevor man die Funktionen daraus nutzen kann.
Üblicherweise werden die Importanweisungen ziemlich am Anfang des Scriptes stehen.

Es gibt 4 Möglichkeiten Module zu importieren:

  1. import modulname
    importiert alles aus dem Modul.
    Anwendung
    modulname.funktionsname()
  2. import modulname as aliasname
    importiert alles aus dem Modul unter dem Aliasnamen.
    Anwendung
    aliasname.funktionsname()
  3. from modulname import *
    importiert die angegebenen Funktionen in den Namensraum des aufrufenden Namensraums.
    * bedeutet, es wird alles importiert.
    Dieser Aufruf sollte vermieden werden, weil es zu Namenskonflikten kommen kann.
    Stattdessen soll der gewünschte Funktionname oder mehrere, durch Komma getrennte Funktionsnamen benutzt werden.
    from os import time
    Anwendung
    funktionsname()
  4. from modulname import funktion as aliasname_der_funktion

Module selbst schreiben