11. Lektion: Module: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 29: Line 29:
#: Dieser Aufruf sollte vermieden werden, weil es zu Namenskonflikten kommen kann.
#: 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.  
#: Stattdessen soll der gewünschte Funktionname oder mehrere, durch Komma getrennte Funktionsnamen benutzt werden.  
#: <pre>from os import time</pre>  
#: <pre>from os import time, sleep</pre>  
#; Anwendung:  
#; Anwendung:  
#: <pre>funktionsname()</pre>
#: <pre>funktionsname()</pre>

Revision as of 20:49, 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, sleep
    Anwendung
    funktionsname()
  4. from modulname import funktion as aliasname_der_funktion

Module selbst schreiben