Python Variablen und Anweisungen Anja Aue | 01.09.16 Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Kommentare im Code müssen bei Änderungen angepasst werden. Der Computer überliest Kommentare bei der Ausführung. Programmiersprache Python Seite 2 Einzeiliger Kommentar # Einzeiliger Kommentar Ein einzeiliger Kommentar beginnt mit dem Hash-Zeichen und endet mit dem Zeilenende. Programmiersprache Python Seite 3 … rechts vom Code flaeche = pi * (radius * radius) # Kommentar Der Kommentar bezieht sich auf den Code in der gleichen Zeile. Ein Kommentar zur Erläuterung einer Zeile sollte sparsam eingesetzt werden. Programmiersprache Python Seite 4 … am Beginn eines Codeabschnittes # Berechnung der Kreisfläche radius = 1 pi = 3.14159 flaeche = pi * (radius * radius) Der Kommentar erläutert den nachfolgenden Abschnitt. Der Kommentar wird entsprechend des zu erläuternden Codes eingerückt. Jede Zeile muss mit einem Hash-Zeichen und einem Leerzeichen beginnen. Programmiersprache Python Seite 5 Mehrzeiliger Kommentare im Code """ Mehrzeiliger Kommentar """ Documentation strings (docstrings). Ein mehrzeiliger Kommentar beginnt und endet mit drei Anführungszeichen. Zwischen den Anführungszeichen dürfen keine Leerzeichen stehen. Der Text wird als Hilfe zu einer Funktion, Klasse, Methode oder öffentlichen Modulen angezeigt. Programmiersprache Python Seite 6 … geben Auskunft bei folgenden Fragen Welche Funktionalität wird in dem Code abgebildet? Welche Parameter werden übergeben? Welcher Wert wird zurückgegeben? Wer hat den Code erstellt? Wann wurde von wem die letzte Änderung durchgeführt? Programmiersprache Python Seite 7 beispiel\kapitel02_VariablenAnweisung\kreisflaeche.py Anweisungen """ Wie werden Variablen deklariert und initialisiert? Was sind Anweisungen in Python? """ # Berechnung der Kreisfläche radius = 1 pi = 3.14159 flaeche = pi * (radius * radius) print(flaeche) Programmiersprache Python Seite 8 Anweisungen in Python Befehle für den Computer in einer Programmiersprache. Jede Zeile enthält eine Anweisung. Anweisungen entsprechen der Syntax von Python. Kleinste Einheit in einem Programm. Sequentielle Verarbeitung in einer Datei. Der Code wird Zeile für Zeile abgearbeitet. Programmiersprache Python Seite 9 Beispiele radius = 1 Zuweisung an eine Variable flaeche = pi * (radius * radius) Auswertung eines Ausdrucks print(flaeche) Programmiersprache Python Funktionsaufruf Seite 10 Ausdruck Operanden und Operatoren werden nach definierten Regeln zusammengesetzt. Berechnung eines Wertes mit Hilfe von Operanden und Operatoren. Formulierung eines Arbeitsschrittes in einem Programm. Klammerung von komplexen Ausdrücken. Durch runde Klammern kann die Rangfolge der Operatoren verändert werden. Die Lesbarkeit wird erhöht. Programmiersprache Python Seite 11 Ausdrücke, die Werte berechnen flaeche = name = pi * ( radius * radius ) Ausdruck Mit Hilfe von Operatoren und Operanden wird ein Wert berechnet. Der berechnete Wert kann einer Variablen zur weiteren Verwendung zugewiesen werden. Programmiersprache Python Seite 12 Operanden Literale werden direkt in den Code eingegeben. Zahlen, Text, boolsche Werte werden direkt im Code angegeben. Variablen als Platzhalter für einen Wert. Die Variable kann weiterverwendet werden. Programmiersprache Python Seite 13 beispiel\kapitel02_VariablenAnweisung\rechteck.py Nutzung von Variablen import turtle breite = 40 hoehe = 90 stiftdicke = 5 stift = turtle.Turtle() stift.pensize(stiftdicke) stift.color("red") stift.forward(breite) # stift.right(winkel) stift.rt(90) stift.forward(hoehe) Programmiersprache Python Seite 14 Zahlen im Code Ganzzahlen 1 2 0xD Gleitkommazahlen 0.5 3.78 -2.0e9 Komplexe Zahlen 1.2 + 3j Programmiersprache Python Seite 15 Ganzzahlen Beliebig große Zahlen ohne Nachkommastellen. Führende Nullen werden entfernt. Positive Ganzzahlen als Literale: 3, +13456 und so weiter. Negative Ganzzahlen als Literale: -5, -3456 und so weiter. Programmiersprache Python Seite 16 Zahlensysteme Dezimalsystem auf der Basis von 10. Hexadezimalsystem auf der Basis von 16. Die Zahlen von 0 bis 9 und die ersten Buchstaben des Alphabets (A...F). Binärzahlen 0 und 1 zur Darstellung von Zuständen. Oktalsystem auf der Basis von 8. Für die Darstellung von Zahlen werden die Ziffern 0 bis 7 genutzt. Java – Einführung in die Programmierung Seite 17 Gleitkommazahlen Zahlen mit Nachkommastellen. Näherung an einen Wert. Als Dezimaltrennzeichen wird ein Punkt genutzt. Zahlen wie zum Beispiel 3.5, 0.345667, 2.0e+24 können in Python genutzt werden. Erläuterung siehe http://py-tutorial-de.readthedocs.io/de/ latest/floatingpoint.html. Programmiersprache Python Seite 18 Boolsche Werte im Code Boolsche Werte True False Boolsche Werte stellen die Antwort zu Ja / Nein – Fragen dar. Ist die Option gewählt oder nicht? Zwei Werte: True (ja, wahr) oder False (nein, falsch). Programmiersprache Python Seite 19 Text im Code Zeichenkette 'AZaz09&' Zusammenfassung von alphanumerischen und numerischen Zeichen. Beginn und Ende mit einem Apostroph. Programmiersprache Python Seite 20 Speicherung in Variablen Container für variable Werte. Platzhalter für irgendeinen Wert. Der zu speichernde Wert kann berechnet oder direkt im Code eingegeben werden. 'AZaz09&' 0.5 1 True Java – Einführung in die Programmierung Seite 21 Zuweisung eines Wertes radius = 1 name = Wert Mit Hilfe des Gleichheitszeichen wird der Variablen ein Wert zugewiesen. Durch die Zuweisung wird automatisch die angegebene Variable erzeugt. In Abhängigkeit des Wertes wird der Typ der Variablen in Python festgelegt. Programmiersprache Python Seite 22 Bezeichner Namen für Funktionen, Konstanten, Variablen etc. Eindeutige Kennzeichnung eines Wertes oder eines Blocks von Anweisungen. Programmiersprache Python Seite 23 Regeln Der Bezeichner beginnt mit einem Buchstaben oder Unterstrich. Ein Bezeichner besteht aus den lateinischen Groß- und Kleinbuchstaben und den Ziffern. Ein Bezeichner enthält als Sonderzeichen nur den Unterstrich. Die Groß- und Kleinschreibung wird beachtet. Schlüsselwörter der Programmiersprache und Bezeichnungen für Elemente aus der Standardbibliothek sind nicht erlaubt. Programmiersprache Python Seite 24 Möglichkeiten Zum Beispiel B oder b für Variablen, die als Index oder Zählvariablen genutzt werden. Ein „l“ (kleines L), „O“ (großes o) oder „I“ (großes i) sollten nie als einzelne Buchstaben genutzt werden. Zum Beispiel kreisflaeche, kreis_flaeche, KreisFlaeche, kreisFlaeche für Variablen, die die Fläche eines Kreises berechnen. Die Bezeichnung „sprechen“ mit dem Entwickler. Zum Beispiel PI für Variablen, die konstante Werte enthalten. Variablen, deren Wert nicht verändert werden soll, nutzen häufig Großbuchstaben. Programmiersprache Python Seite 25 Operatoren Regeln zur Bildung von neuen Operanden. Vorschriften zur Bildung von Ausdrücken aus mehreren Operanden. Programmiersprache Python Seite 26 Operatoren in Python Der Zuweisungsoperator weist einer Variablen einem Wert zu. Arithmetische Operatoren berechnen mit Hilfe eines Ausdrucks einen Wert. Operatoren vergleichen zwei Werte und geben einen boolschen Wert zurück. Falls der Vergleich stimmt, wird true (wahr) zurückgegeben. Andernfalls wird false (falsch) zurückgegeben. Logische Operatoren verknüpfen Ausdrücke, die einen boolschen Wert zurückgeben. Programmiersprache Python Seite 27 Operator „Gleichheitszeichen“ boxA = 4 boxA 4 boxB = boxA boxB 4 boxA Programmiersprache Python Seite 28 Beispiele boxA = 4 varible = literal boxB = boxA variable = variable boxC = 2 variable = Programmiersprache Python * boxA ausdruck Seite 29 Leerer Behälter boxA = None Der Behälter wird angelegt. Aber der Behälter ist leer. Der Behälter hat den Wert None. Programmiersprache Python Seite 30 Strichcode für den Behälter x y x y value 45 45 45 34 id(...) 1724472272 1724472272 1724472272 1724472096 Jeder Wert in einem Python-Code hat einen eindeutigen Strichcode, kann aber unterschiedliche Etiketten haben. Variablen können auf die gleiche Box verweisen. In dieser Box ist ein bestimmter Wert gespeichert. Die Box wird eindeutig durch eine ID gekennzeichnet. Programmiersprache Python Seite 31 Schlüssel zu einem Wert id = id(radius) Die Funktion id() gibt einen eindeutigen Wert für ein Objekt zurück. Die ID existiert über die gesamte Lebensdauer des Objekts. Jeder Wert, der in Python gespeichert, ist ein Objekt. Die ID entspricht einer Speicheradresse in der Programmiersprache C / C++. Programmiersprache Python Seite 32 Der Wert der Variablen ist vom Typ type = type(radius) Mit Hilfe der Funktion type(variable) wird die Kategorie eines Wertes zurückgegeben. Der Typ regelt die Verarbeitung des gespeicherten Wertes / Objekts. Zahlen können mit mathematischen Operatoren verknüpft werden. Aus Zahlen können neue Werte berechnet werden. Zeichenketten können nur gemeinsam verknüpft werden. Programmiersprache Python Seite 33 Möglichkeiten <class 'int'> 1 2 0xD <class 'float'> 0.5 3.78 -2.0e9 <class 'complex'> 1.2 + 3j <class 'bool'> True Programmiersprache Python False Seite 34 Arithmetische Operatoren Darstellung von positiven und negativen Zahlen. Operatoren für die Grundrechenarten Addition, Subtraktion, Multiplikation und Division. Berechnung eines Wertes aus Literalen und Variablen. Programmiersprache Python Seite 35 Positive und negative Zahlen Positive Zahlen + 3 Negative Zahlen - 3 Programmiersprache Python Seite 36 Arithmetische Operatoren Addition 5 + 2 = var 7 Subtraktion 5 - 2 = var 3 Multiplikation 5 * 2 = var 10 Potenzrechnung 5 ** 2 = var 25 Programmiersprache Python Seite 37 Operator „Division“ ab Python 3.x Division 3 5 / 3.0 5.0 / -5.0 3.0 5.0 Programmiersprache Python / / var 0.75 2.5 = 2.0 4 = -2.0 0 var 0.75 2.5 = 4 2 / -5.0 4 2 = = var 0.75 -2.5 var 2.5 Error Seite 38 Hinweise Python 3.x: Der Divisionsoperator liefert immer eine Gleitkommazahl zurück. Python 2.x: Wenn einer der Operatoren eine Gleitkommazahl ist, wird als Ergebnis eine Gleitkommazahl zurückgegeben. Falls beide Operatoren eine Ganzzahl sind, wird eine Ganzzahl zurück geliefert. Eine Division durch Null ist nicht erlaubt. Programmiersprache Python Seite 39 Operator „Restlose Division“ Division 3 5 /// 3.0 5.0 /// -5.0 3.0 5.0 Programmiersprache Python // // var 0.75 2.0 = 2.0 4 = -2.0 0 var 0.75 2 = 4 2 /// -5.0 4 2 = = var 0.75 -3.0 var 2.0 Error Seite 40 Hinweise Der Operator // liefert immer eine Ganzzahl zurück. Der Operator rundet immer auf die nächsthöchste Ganzzahl. Falls beide Operatoren Ganzzahlen sind, ist auch das Ergebnis eine Ganzzahl. Eine Division durch Null ist nicht erlaubt. Programmiersprache Python Seite 41 Operator „Rest einer Ganzzahldivision“ Modula 3 5 % / 3.0 5.0 % / -5.0 3.0 3.0 5.0 Programmiersprache Python 4 2 % / % / 2.0 4 = 2.0 4 -2.6 4 var 0.75 = = = var 0.75 var 0.75 var 1.0 var 1.0 var var -0.20000000000000018 0.75 Seite 42 Hinweise Der Modulo-Operator % liefert den Rest einer Division zurück. Der Operator sollte nur mit Ganzzahlen genutzt werden. Das Ergebnis der Berechnung nimmt das gleiche Vorzeichen des rechten Operanden an. Programmiersprache Python Seite 43 Zusammengesetzte Operatoren 3 ( 5 * 3 * 3 * + 5 ( ) 5 2 var 17 = + 2 = + 2 ) var 17 = var 21 Es gilt die Punkt- vor Strichrechnung. Mit Hilfe von runden Klammern kann die Rangfolge der Operatoren verändert werden. Programmiersprache Python Seite 44 Rangfolge ** +zahl -zahl * / + - Programmiersprache Python // % Seite 45 Inhalt eines Behälters ausgeben print(flaeche) Mit Hilfe der Funkion print() kann der Wert eine Variable in die Standardausgabe geschrieben werden. Als Standardausgabe wird häufig die Shell genutzt. Programmiersprache Python Seite 46 Was ist eine Funktion? print ( flaeche ) Funktionen entsprechen einer Fertigungsstraße in einer Fabrikhalle. Jede Fertigungsstraße hat einen Namen. In diesem Beispiel print. Der Betrachter von außen sieht das Material, welches durch die Fertigungsstraße verarbeitet wird. Das Material wird als Parameterliste in runden Klammern angegeben. In diesem Beispiel soll der Wert der Variablen flaeche verarbeitet werden. Jede Funktion hat eine bestimmte Aufgabe. In diesem Beispiel „Ausgabe eines Wertes in der Standardausgabe“. Programmiersprache Python Seite 47 Name einer Funktion print ( flaeche ) name Der Name einer Funktion ist eindeutig. Mit Hilfe des Namens wird eine Funktion aufgerufen. Die Aktion wird gestartet. Funktionsnamen beachten die Groß- und Kleinschreibung. Programmiersprache Python Seite 48 Parameter einer Funktion print ( flaeche ) ( parameter ) Eine Parameterliste wird durch die runden Klammern begrenzt. Einer Funktion werden x Parameter in Abhängigkeit der Definition übergeben. Parameter sind Startwerte für eine Funktion. In diesem Beispiel wird der Funktion print() der auszugebende Text übergeben. Programmiersprache Python Seite 49 Beispiele print ( flaeche ) print ( pi * (radius * radius) ) print ( 3.14159 ) print ( type(flaeche) ) Programmiersprache Python Seite 50