4.1 Syntax und Variablen
In diesem Kapitel erlernen Sie die grundlegende Syntax von Python sowie den Umgang mit Variablen und verschiedenen Datentypen.
Übersicht Allgemeine Syntax
In diesem Abschnitt erhalten Sie einen Überblick über die grundlegenden Syntaxelemente in Python, die die Regeln für das Schreiben und Strukturieren von Code darstellen.
Syntax | Beschreibung | Beispiel |
---|---|---|
Kommentar | Ein Kommentar im Code, der nicht ausgeführt wird | # Dies ist ein Kommentar |
Zuweisung | Zuweisung eines Wertes zu einer Variablen | x = 5 |
Ausdruck (Expression) | Eine Kombination aus Werten, Variablen und Operatoren | y = x + 2 oder status = not status |
Funktionsaufruf | Aufruf einer Funktion mit oder ohne Argumente. Es gibt drei Arten von Funktionen: (a) interne Funktionen (b) externe Funktionen (c) eigene Funktionen erstellt mit def tolleFunktion() |
print("Hallo Welt") sleep(2) tolleFunktion() |
Doppelpunkt : |
Verwendet nach Schlüsselwörtern wie if , for , def , etc. |
if x > 0: |
Einrückung (Indentation) | Einrücken von Code-Blöcken zur Strukturierung | siehe Beispiel unter der Tabelle |
Einrückungen in Python sind entscheidend, da sie die Struktur des Codes bestimmen. Jeder Codeblock, der beispielsweise zu einer Bedingung (if
) oder einer Schleife (z.B. while
oder for
) gehört, muss eingerückt sein. Ein typisches Beispiel:
Auch hatten wir schon die Operatoren, die an dieser Stelle der Vorllständigkeit halber wiederholt werden.
A. Rechenoperatoren
Operator | Erklärung | Beispiel |
---|---|---|
= | Zuweisung | a = 5 |
+ | Addition | a + b |
- | Subtraktion | a - b |
* | Multiplikation | a * b |
** | Potenzierung | a ** b |
/ | Division | a / b |
% | Modulus (Restwert einer Division) | a % b (z.B. 10 % 3 ergibt 1) |
// | Ganzzahlige Division | a // b (z.B. 10 // 3 ergibt 3) |
+= | Addition und Zuweisung | a += 3 (z.B. a = 2; a += 3 ergibt 5) |
-= | Subtraktion und Zuweisung | a -= 2 |
*= | Multiplikation und Zuweisung | a *= 2 |
**= | Potenzierung und Zuweisung | a **= 2 |
/= | Division und Zuweisung | a /= 2 |
%= | Modulus und Zuweisung | a %= 3 |
//= | Ganzzahlige Division und Zuweisung | a //= 2 |
Was ist das Ergebnis?
B. Vergleichsoperatoren (die als Ergebnis True / False liefern)
Operator | Erklärung | Beispiel |
---|---|---|
== | Gleichheit | a == b |
!= | Ungleichheit | a != b |
< | Kleiner als | a < b |
> | Größer als | a > b |
<= | Kleiner oder gleich | a <= b |
>= | Größer oder gleich | a >= b |
and | Logisches UND | a and b |
or | Logisches ODER | a or b |
not | Logisches NICHT | not a |
Vergleichsoperatoren sind sehr wichtig, da damit if-Bedingungen und Schleifen (for, while) gesteuert werden.
Die Operatoren and
und or
sind sehr wichtig, wenn man mehr als einen Vergleich benötigt.
Beispiel für die Verwendung von and
und or
a = 5
b = 10
c = 15
# Verwendung von and: Beide Bedingungen müssen wahr sein
if a < b and b < c:
print("a ist kleiner als b und b ist kleiner als c")
# Verwendung von or: Mindestens eine Bedingung muss wahr sein
if a > b or b < c:
print("Mindestens eine der beiden Bedingungen ist wahr")
Logiktabelle für and
a | b | a and b |
---|---|---|
False | False | False |
False | True | False |
True | False | False |
True | True | True |
Logiktabelle für or
a | b | a or b |
---|---|---|
False | False | False |
False | True | True |
True | False | True |
True | True | True |
Logiktabelle für not
a | not a |
---|---|
False | True |
True | False |
Weitere Details zu diesen Operatoren finden Sie in der offiziellen Python-Dokumentation zu den Operatoren.
Übersicht Variablentypen
Eine typische Variable mit einer Wertzuweisung ist breite = 42
.
Regeln für die Benennung von Variablen
-
Buchstaben, Ziffern und Unterstriche: Variablennamen dürfen nur Buchstaben (a-z, A-Z), Ziffern (0-9) und Unterstriche (_) enthalten. Allerdings darf ein Variablenname nicht mit einer Ziffer beginnen. Beispiele:
breite
,tiefe1
. -
Keine reservierten Schlüsselwörter: Vermeiden Sie die Verwendung von Python-Schlüsselwörtern (z.B.
if
,else
,while
), da diese spezielle Bedeutungen haben und zu Syntaxfehlern führen können. Eine Liste der reservierten Schlüsselwörter finden Sie in der Python-Dokumentation. -
Keine deutschen Umlaute und Leerzeichen: Verwenden Sie keine deutschen Umlaute (ä, ö, ü) oder Leerzeichen in Variablennamen, da diese zu Kompatibilitätsproblemen führen können. Stattdessen sollten Sie ae, oe, ue verwenden. Beispiel:
maxHoehe
stattmaxHöhe
. -
Aussagekräftige Namen: Wählen Sie Namen, die den Inhalt oder Zweck der Variablen beschreiben. Dies erleichtert das Verständnis des Codes. Beispiel: Verwenden Sie
temperatur
statttemp
. -
Kleinschreibung: Gemäß der PEP 8-Richtlinie sollten Variablennamen in Python normalerweise in Kleinbuchstaben mit Unterstrichen geschrieben werden, z.B.
max_temperatur
. Da jedoch in vielen Programmiersprachen die CamelCase-Schreibweise bevorzugt wird, wollen wir auch in diesem Kurs CamelCase verwenden. Beispiel:maxTemperatur
stattmax_temperatur
. -
Konstanten: Für Konstanten, die sich während der Programmausführung nicht ändern sollen, verwenden Sie Großbuchstaben. Beispiel:
PI = 3.14159
. -
Vermeiden Sie einbuchstabige Namen: Außer in Schleifenindizes (z.B.
i
,j
) sollten einbuchstabige Variablennamen vermieden werden, da sie den Code weniger verständlich machen.
Folgende Variablentypen können in Python zur Speicherung und Verarbeitung von Daten verwendet werden.
Was kann alles in einer Variable gespeichert werden?
Typ | Beschreibung | Beispiel |
---|---|---|
Integer int() |
Ganze Zahlen, z.B. 42 ist uns schon bekannt |
breite = 42 |
Float float() |
Gleitkommazahlen, z.B. 3.14 ist uns schon bekannt |
temperatur = 3.14 |
String str() |
Text, z.B. "Hallo Welt" ist uns schon bekannt |
begruessung = "Hallo Welt" |
Boolean bool() |
Wahrheitswerte, z.B. True oder False ist uns schon bekannt |
istAktiv = True |
List list() |
Listen von Werten, z.B. [1, 2, 3] schauen wir uns gleich an |
zahlen = [1, 2, 3] |
Dictionary dict() |
Schlüssel-Wert-Paare, z.B. {"key": "value"} schauen wir uns gleich an |
person = {"name": "Alice"} |
Tuple tuple() |
Unveränderliche Listen, z.B. (1, 2, 3) wird in diesem Semester nicht betrachtet |
koordinaten = (1, 2, 3) |
Set set() |
Mengen von eindeutigen Werten, z.B. {1, 2, 3} wird in diesem Semester nicht betrachtet |
einzigartigeZahlen = {1, 2, 3} |
Object object() |
Instanzen von Klassen oder andere Objekte wird später erklärt |
led = Pin() |
Beispielsweise kann mit int()
eine Kommazahl in einen Integer umgewandelt werden. Mit diesen angegebenen Funktionen kann also eine Umwandlung stattfinden. Wichtig sind für uns zunächst einmal int()
, float()
, str()
und bool()
.
# Float-Zahl als Ausgangspunkt
floatZahl = 42.58
# Umwandeln der Float-Zahl in eine Ganzzahl
ganzZahl = int(floatZahl)
print(ganzZahl)
Wir schauen uns nun die Variablentypen List
und Dictionary
an
Typ | Beschreibung | Beispiel |
---|---|---|
List |
Listen von Werten, z.B. [1, 2, 3] |
zahlen = [1, 2, 3] |
Dictionary |
Schlüssel-Wert-Paare, z.B. {"key": "value"} |
person = {"name": "Alice"} |
Wann verwendet man List?
Listen werden verwendet, wenn man eine geordnete Sammlung von änderbaren Elementen benötigen (die sich ändern lassen). Sie eignen sich gut für Sequenzen von ähnlichen Objekten, auf die man in der Reihenfolge ihres Einfügens zugreifen möchten. Listen werden in anderen Programmiersprachen (indizierte) Arrays genannt.
Beispiele für Listen
Wie man eine List füllt und Werte ausliest
- Füllen:
- Auslesen:
Wann verwendet man ein Dictionary?
Dictionaries sind ideal, wenn Sie eine ungeordnete Sammlung von Schlüssel-Wert-Paaren benötigen. Sie sind besonders nützlich, wenn Sie Daten nach einem eindeutigen Schlüssel suchen oder speichern müssen. Dictionaries werden in anderen Programmiersprachen (assoziative) Arrays genannt.
Beispiele für Dictionaries
verschachtelt = {"person": {"name": "Bob", "alter": 25}, "adresse": {"stadt": "Berlin", "plz": 10115}}
Wie man ein Dictionary füllt und Werte ausliest
- Füllen:
- Auslesen:
Pi Pico Script
Wir nehmen nur das Pi Pico-Board und lassen die interne LED blinken.
Ursprüngliches Script
Erweitert mit einer List
Aufgabe
- Welche Vorteile und welche Nachteile hat diese Schreibweise?
- Nutzen Sie nun ein Dictionary statt einer List
- Welche Vorteile und welche Nachteile hat dies dann? Was gefällt ihnen besser?