11. Lektion: Module: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(Es gibt 4 Möglichkeiten Module zu importieren:)
(Einfacher Import)
Zeile 12: Zeile 12:
 
===== Einfacher Import=====
 
===== Einfacher Import=====
 
* <pre>import modulname</pre>
 
* <pre>import modulname</pre>
*: importiert alles aus dem Modul.
+
*: importiert alles aus dem Modul. Die importierten Funktionen bleiben im Namespace des Moduls.
 
*; Anwendung:  
 
*; Anwendung:  
 
*: <pre>modulname.funktionsname()</pre>
 
*: <pre>modulname.funktionsname()</pre>
 +
 
===== Einfacher Import mit Aliasnamen=====
 
===== Einfacher Import mit Aliasnamen=====
 
* <pre>import modulname as aliasname</pre>
 
* <pre>import modulname as aliasname</pre>

Version vom 27. September 2023, 13:48 Uhr

Was sind Module ?

Module sind Sammlungen von Funktionen, die in einer Datei zusammen gefasst sind.
In anderen Programmiersprachen werden sie Bibliotheken genannt.
Bibliotheken sind in Phython die Zusammenfassung mehrerer Module
Ausführlichere Informationen gibt es hier (english):
https://martinxpn.medium.com/how-modules-actually-work-in-python-and-how-to-create-your-own-custom-module-81-100-days-of-d1a84fead104

Module benutzen

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

Es gibt 4 Möglichkeiten Module zu importieren:

Einfacher Import
  • import modulname
    importiert alles aus dem Modul. Die importierten Funktionen bleiben im Namespace des Moduls.
    Anwendung
    modulname.funktionsname()
Einfacher Import mit Aliasnamen
  • import modulname as aliasname
    importiert alles aus dem Modul unter dem Aliasnamen.
    Beispiel
    import network as net
    Anwendung
    aliasname.funktionsname()
Import in den Hauptnamespace
  • 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()
Import in den Hauptnamespace mit Aliasnamen
  • 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()

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 selber schreiben

https://python.plainenglish.io/init-files-in-python-how-to-organize-your-code-into-logical-and-reusable-units-1f4c7c31d4f7

Module mit mip laden

Navigation

Zurück zu Micropython Kurs 2023 - Teil 1
Zurück zur "Micropython Kurs 2023" Startseite
Zurück zur Programmieren Startseite
Zurück zur Wiki Startseite