11. Lektion: Module: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 27: Line 27:
#: <pre>aliasname.funktionsname()</pre>
#: <pre>aliasname.funktionsname()</pre>
# <pre>from modulname import *</pre>
# <pre>from modulname import *</pre>
#: importiert die angegebenen Funktionen in den Namensraum des aufrufenden Namensraums.
#: importiert die angegebenen Funktionen in den Namensraum des Hauptprogramms.
#: * bedeutet, es wird alles importiert.
#: * bedeutet, es wird alles importiert.
#: Dieser Aufruf sollte vermieden werden, weil es zu Namenskonflikten kommen kann.
#: Dieser Aufruf sollte vermieden werden, weil es zu Namenskonflikten kommen kann.
#: Man sollte sehr genau wissen was man tut!
#: 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.  
#; Beispiel
#; Beispiel
#: <pre>from os import time, sleep</pre>  
#: <pre>from os import time, sleep</pre>  
#: Das spart auch noch Speicherplatz, weil nicht Alles aus dem Modul geladen wird.
#; Anwendung:  
#; Anwendung:  
#: <pre>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>
#: importiert die funktion unter dem Aliasnamen.
#; Beispiel
#: <pre>from os import sleep as wait</pre>
#; Anwendung:
#: <pre>aliasname_der_funktion<pre>


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

Revision as of 21:02, 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.
    Beispiel
    import network as net
    Anwendung
    aliasname.funktionsname()
  3. from modulname import *
    importiert die angegebenen Funktionen in den Namensraum des Hauptprogramms.
    * bedeutet, es wird alles importiert.
    Dieser Aufruf sollte vermieden werden, weil es zu Namenskonflikten kommen kann.
    Man sollte sehr genau wissen was man tut!
    Stattdessen soll der gewünschte Funktionname oder mehrere, durch Komma getrennte Funktionsnamen benutzt werden.
    Beispiel
    from os import time, sleep
    Das spart auch noch Speicherplatz, weil nicht Alles aus dem Modul geladen wird.
    Anwendung
    funktionsname()
  4. from modulname import funktion as aliasname_der_funktion
    importiert die funktion unter dem Aliasnamen.
    Beispiel
    from os import sleep as wait
    Anwendung
    aliasname_der_funktion

Module selbst schreiben