Lektion 4: Python-Sprachelemente

  • Reservierte Wörter
  • Befehlstypen
  • Ein- und Ausgaben
  • Variablen und Datentypen
  • Kontrollstrukturen

Reservierte Wörter

  • Dürfen nicht für Bezeichner (Variablen, Functions usw.) verwendet werden
  • Es gibt bei Version 3.7 ca. 30 reservierte Wörter
  • Sind in der Hilfe und auf unzähligen Webseiten ausführlich beschrieben

Befehlstypen

  • Befehl ist nicht gleich Befehl
  • Befehle (z.B. break, for, if oder while)
  • Befehlswörter (z.B. in oder from)
  • Functions (z.B. print() oder input())
  • Objekt-Functions (auch Methoden genannt)
  • Operatoren

Ein- und Ausgaben in der Konsole

  • Für Eingaben gibt es die input()-Function
  • Für Ausgaben gibt es die print()-Function
  • Bei Python 2.x war print noch ein Befehl (also ohne runde Klammern)

Formatierte Ausgabe

  • Formatiert bedeutet, dass Zahlen und Datumswerte auf eine bestimmte Weise in eine Zeichenkette eingesetzt werden
  • Für die Formatierung gibt es die format()-Function
  • format() bietet viele Möglichkeiten, daher gibt es viele Details
  • {} ist stets ein Platzhalter für einen Wert, der durch die format()-Function an dieser Stelle eingesetzt wird

Variablen

  • Eine Variable speichert einen oder mehrere Werte während der Programmausführung
  • Variablen werden nicht deklariert
  • Der Typ des Werts gibt auch den Typ der Variablen an, z.B. int oder float
  • Eine Variable, die keinen Wert besitzt, besitzt den Wert none
  • Eine Variable besitzt einen Gültigkeitsbereich

Regeln für Variablennamen (1)

  • Die erste Referenz sollte der PEP 8 Style Guide sein
  • Ein Abschnitt heißt "Naming Styles"
  • Die wichtigste Aussage ist: Es gibt keine verbindliche Vorgabe
  • Wichtig ist, dass eine Schreibweise durchgehend verwendet wird
  • Einige Python-IDEs zeigen "Verstöße" gegen PEP 8 mit Hilfe von Pylint im Quellcode an
  • Pylint => Lektion 12 (https://www.pylint.org)

Regeln für Variablennamen (2)

  • Meine bevorzugte Schreibweise ist mixedCase, z.B. anzahlVersuche
  • Meine Empfehlungen für den Kurs:
  • A) CapWords oder B) lower_case_with_underscores
  • A) AnzahlVersuche B) anzahl_versuche

Datentypen (1)

  • Der Datentyp steht für die "Sorte" des Wertes, den z.B. eine Variable enthält
  • Es gibt theoretisch unendlich viele Datentypen
  • Die wichtigsten Datentypen für den Alltagsgebrauch sind int, float, bool und str
  • Python nimmt den Datentyp eines Wertes ernst, der Datentyp muss daher passen
  • Über Konvertierungs-Functions wird z.B. aus einem int ein string
  • Gute Übersicht bei Wikipedia

Datentypen (2)

Datentypen, die es nicht gibt

  • Bei Python steht Einfachheit im Mittelpunkt
  • Einige Datentypen anderer Programmiersprachen gibt es bei Python nicht
  • Beispiele: byte, char oder Integer ohne Vorzeichen
  • In Python gibt es keinen Pointer-Datentyp (Zeiger)

Operatoren (1)

  • Neben den Standardoperatoren (+, -, / und *) besitzt Python eine Fülle an "Spezialoperatoren"
  • // -> Division mit Ganzzahl als Ergebnis
  • % -> Rest einer Division
  • += -> Erhöhen und Zuweisen

Operatoren (2)

  • ** -> Zweierpotenz
  • << und >> -> bitweises verschieben
  • if und else sind auch Operatoren (z.B. b = 1 if a == 3 else 2)
  • Gute Übersicht: https://python-reference.readthedocs.io/en/latest/docs/operators/

Einrückungen bei Kontrollstrukturen

  • Befehle wie if, for oder while besitzen keinen Abschlussbefehl
  • Die dazugehörigen Befehle werden durch Einrücken festgelegt
  • Mindestens ein Leerzeichen (üblich sind 4)
  • Die Anzahl der Leerzeichen muss pro Block konstant sein

Einrückungen richtig und falsch

Entscheidungen

  • Entscheidungen mit dem if-Befehl
  • Bedingung in Gestalt eines Ausdrucks folgt auf den Befehl (keine runden Klammern erforderlich)
  • Ausdruck ungleich 0 => True Ausgleich gleich 0 => False
  • Für den Alternativzweig gibt es else-Befehl
  • Für einen Alternativzweig mit einer Bedingung gibt es den elif-Befehl
  • Es gibt bei Python keinen switch- oder select case-Befehl
  • Tipp: Der pass-Befehl als Platzhalter

Entscheidungen mit dem if-Befehl (Teil 2)

Entscheidungen mit if und else

Entscheidungen mit if und elif

Mehrere Bedingungen prüfen

  • Mit Hilfe der logischen Operatoren and und or
  • Wenn alle Bedingungen erfüllt sein müssen - and
  • Wenn nur eine Bedingung erfüllt sein muss - or

Logische Herausforderungen

  • Am Anfang ist das richtige Kombinieren von if, elif und else nicht ganz einfach
  • Konkretes Beispiel:
  • Es auch soll eine Meldung ausgegeben werden, wenn die Eingabe eine Zahl ist, aber nicht im Bereich 1 bis 1000?
  • Wie könnte eine Lösung aussehen?

elif und else kombinieren

Wiederholungen mit for

  • Ein Befehlsblock wird eine festgelegte Anzahl oft wiederholt
  • Die Anzahl wird durch die Elemente einer Liste festgelegt
  • Die range()-Function liefert eine Liste von Zahlen
  • Die enumerate()-Function liefert neben den Listenelementen auch eine Index-Variable (als Tupel-Werte)

Eine klassische Zählschleife mit for

Eine Zinsberechnung mit for

Wiederholungen mit while

  • Die Wiederholungsbedingung wird zu Beginn der Wiederholung geprüft
  • Es gibt keinen do-Befehl

Eingabewiederholung mit while und break

Wiederholungen vorzeitig verlassen oder beenden

  • Der break-Befehl beendet eine Wiederholung
  • Der continue-Befehl leitet einen weiteren Durchlauf der Wiederholung ein

Zusammenfassung

  • Das Motto bei den Python-Befehlen ist Einfachheit
  • Kontrollstrukturen werden durch Einrückungen festgelegt
  • Für Entscheidungen gibt es die Befehle if, else und elif
  • Für Wiederholungen gibt es die Befehle do und while
  • Für die Steuerung von Wiederholungen gibt es die Befehle break und continue

Einstieg in Python - Lektion 4

By Peter Monadjemi

Einstieg in Python - Lektion 4

In dieser Lektion geht es um die elementaren Befehle der Programmiersprache Python

  • 50