MicroPython: Sprachstruktur

MicroPython ist eine Programmiersprache, die auf Python basiert und speziell für das Programmieren von Mikrocontrollern entwickelt wurde. Beispielsweise für STM32, ESP8266, ESP32 und RP2040.
Wie Python ist auch MicroPython eine objektorientierte, interpretierte Sprache, die das Schreiben von Code erleichtert.

Einige der wichtigsten Merkmale von Python und MicroPython sind:

  1. Einfache Syntax: Die Syntax ist darauf optimiert, dass Einsteiger und auch erfahrende Entwickler schnell und einfach Code schreiben können.
  2. Kleiner Code: Im Vergleich zu anderen Programmiersprachen braucht derselbe MicroPython-Code weniger Zeilen.
  3. Erweiterbarkeit: Um spezifische Anforderungen zu erfüllen, kann MicroPython leicht um Module und Bibliotheken erweitert werden.

Besonderheiten im Vergleich zu anderen Programmiersprachen

  • Dynamische Typisierung
  • Befehlsende ohne Steuerzeichen
  • Blöcke ohne Steuerzeichen

Dynamische Typisierung

In Python und MicroPython sind Variablen dynamisch typisiert. Das bedeutet, dass die Typisierung von Variablen zur Laufzeit statt zur Kompilierzeit erfolgt. Dies bietet mehr Flexibilität, aber auch weniger Sicherheit als statisch typisierte Sprachen.

Die Typisierung einer Variable ist wichtig, weil Zahlen, Buchstaben und Boolesche Werte unterschiedlich behandelt werden müssen. Zahlen kann man mathematisch addieren, Buchstaben nicht. Es kann aber sein, dass es der Programmierer trotzdem versucht.

Befehlsende ohne Steuerzeichen

Eine Besonderheit in Python und MicroPython ist, dass in jeder Zeile nur ein Befehl oder Anweisung stehen darf. In anderen Programmiersprachen wird ein Befehl oder Anweisung mit einem Semikolon bzw. Strichpunkt (;) abgeschlossen. Dadurch können auch mehrere Befehle hintereinander in einer Zeile stehen, was allerdings die Lesbarkeit des Programmcodes erschwert. Deshalb ist es eine gängige Methode ausnahmslos nur einen Befehl pro Zeile zu schreiben. In MicroPython wird diese Konvention als Muss übernommen und deshalb auf das abschließende Semikolon verzichtet. Der Vorteil davon ist, auf was verzichtet wird, kann man nicht vergessen. Beim Schreiben von Programmcode in anderen Programmiersprache mit Semikolon gehört es zum Alltag, Fehler aufgrund vergessener Semikolons zu suchen.

Blöcke ohne Steuerzeichen

In MicroPython werden Blöcke in der Regel durch Einrückungen erstellt. Das bedeutet, dass Code-Blöcke durch Einrückungen voneinander getrennt sind, anstatt durch geschweifte Klammern ({}), wie es in anderen Programmiersprachen üblich ist. Bei Python und MicroPython beginnt ein Block mit einem Doppelpunkt (:). Danach wird die nächsten Codezeilen eingerückt. Der Block endet mit der letzten eingerückten Codezeile.

Zum Beispiel:

x = 5
if x == 5:
    print("x ist gleich 5")
    print("weitere Anweisung im Block")
print("Anweisung außerhalb des Blocks")

In diesem Beispiel wird der Block ausgeführt, wenn die Bedingung x == 5 wahr ist. Der Block beginnt mit der Codezeile print("x ist gleich 5") und endet mit der Codezeile, die nicht mehr eingerückt ist, in diesem Fall print("Anweisung außerhalb des Blocks").

Es ist wichtig zu beachten, dass die Einrückung in MicroPython sehr wichtig ist. Eine falsche Einrückung kann dazu führen, dass der Code nicht ordnungsgemäß ausgeführt wird oder zu Fehlern führt. Es wird empfohlen, einen Texteditor oder eine integrierte Entwicklungsumgebung (IDE) zu verwenden, die die Einrückungen automatisch korrigieren kann.

In anderen Programmiersprachen wie C, C++, Java oder JavaScript werden Blöcke in der Regel durch geschweifte Klammern ({}) erstellt. Die Klammern definieren den Anfang und das Ende des Blocks. Zum Beispiel:

x = 5;
if (x == 5) {
  printf("x ist gleich 5");
  printf("weitere Anweisung im Block");
}
printf("Anweisung außerhalb des Blocks");

In diesem Beispiel wird der Block ausgeführt, wenn die Bedingung x == 5 wahr ist. Der Block beginnt mit der öffnenden geschweiften Klammer { und endet mit der schließenden geschweiften Klammer }.

Die Verwendung von Einrückungen erleichtert die Lesbarkeit des Codes, weshalb jeder Programmierer, egal bei welcher Programmiersprache, Einrückungen zusätzlich zur geschweiften Klammern verwendet. Allerdings haben sie dort keine Bedeutung. Weil Einrückungen übliche Praxis sind, werden diese in Python und MicroPython interpretiert und auf geschweifte Klammern verzichtet. Der Verzicht auf geschweifte Klammern verringert die Anzahl der Fehler und die notwendige Fehlersuche, die durch vergessene Klammern verursacht wird.

Kommentare

In MicroPython können Kommentare mit einem Zeichen für Raute bzw. das Doppelkreuz (#) eingefügt werden.

# Dies ist ein Kommentar in MicroPython

Mehrzeilige Zeichenketten werden oft vorne und hinten mit jeweils 3 aufeinanderfolgenden '-Zeichen eingerahmt. Das funktioniert auch für Kommentare, die mehrzeilig sein sollen.

'''
Das ist ein Kommentar
in MicroPython, das
mehrere Zeilen lang ist.
'''

Kommentare sollen dem Leser einen Mehrwert über den Code geben. Faustregel: Kommentare beschreiben nicht was der Code macht, denn das steht da bereits als Code, sondern warum er das macht. Sofern das nicht offensichtlich ist. Offensichtlich ist in aller Regel auch was in der Dokumentation von MicroPython und den verwendeten Bibliotheken steht.

Was noch wichtiger ist, falsche Kommentare sind schlimmer als keine Kommentare. Ein Kommentar soll auftretende Unklarheiten mit dem Code auflösen. Aber wenn dort falsche Informationen stehen, die auch noch dem Code widersprechen, dann wirft das mehr Fragen auf. Der Leser weiß dann nicht was falsch ist, der Code oder der Kommentar.

Namen

Namen von Variablen werden in Python typischerweise klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten, die KOMPLETT_GROSS geschrieben werden und Klassen in der camelCase oder PascalCase Schreibweise

Namen sollten keine kryptischen Abkürzungen enthalten oder gar nur daraus bestehen. Der Name soll dem Leser vermitteln, welchen Wert die Variable enthält oder was die Funktion macht, und nicht Rätsel aufgeben.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren