Python Variablen und Anweisungen

Python – Variablen und Anweisungen Ausdruck ...  besteht aus Operanden und Operatoren, die nach bestimmten Regeln zusammengesetzt werden.  formuli...
Author: Dagmar Tiedeman
0 downloads 0 Views 287KB Size
Python – Variablen und Anweisungen

Ausdruck ...  besteht aus Operanden und Operatoren, die nach bestimmten Regeln zusammengesetzt werden.  formuliert einzelne Schritte des Programms.  ist eine Verarbeitungsvorschrift, die ein Ergebnis zurück gibt.  verändert den Wert von Variablen entsprechend des angegebenen Datentyps.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 2

Operanden ...  können Variablen sein. Variablen ...  können durch das Programm verändert werden.  müssen vor der Nutzung initialisiert werden.  können Konstanten sein. Konstanten …  haben einen unveränderbaren Wert.  sind Ganzzahlen, Dezimalzahlen oder Text.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 3

Operatoren ...  beschreiben wie zwei Werte miteinander verarbeitet werden.  definieren eine Verknüpfungsvorschrift.  sind für folgende Bereiche vorhanden:  Arithmetische Operatoren berechnen einen Wert. Beispiel: « a + b ».  Vergleichsoperatoren vergleichen zwei Werte. Beispiel: « a > b ».  Logische Operatoren verknüpfen boolsche Werte. Boolsche Werte sind wahr oder falsch. Beispiel: « (a > b) and (a < c) ».

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 4

Zuweisungsoperator  Als Zuweisungsoperator wird das Gleichheitszeichen genutzt.  Beispiel:  «c = 5.434 ». Der Variablen c wird der Wert 5.434 zugewiesen.  «a = c * 2». Der Variablen a wird der, vom Ausdruck c * 2 errechnete Wert zugewiesen.  Feste Werte (Konstanten) stehen immer rechts vom Gleichheitszeichen.  Mit Hilfe des Schlüsselwortes « None » wird ein leere Zuweisung gekennzeichnet.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 5

Mehrfach-Zuweisungen  « c = b = 5.434 ».  b verweist auf den Wert 5,434.  c bekommt den Wert von b zugewiesen. c verweist auch auf 5,434.  werden von rechts nach links abgearbeitet.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 6

Arithmetische Operatoren Operator

Rechenart

Beispiel

+

Positives Vorzeichen

ergebnis = +3

-

Negatives Vorzeichen

ergebnis = -3

+

Addition

ergebnis = 3 + 4

-

Subtraktion

ergebnis = 3 - 4

**

Potenzrechnung

ergebnis = 34

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 7

Arithmetische Operatoren Operator

Rechenart

Beispiel

*

Multiplikation

ergebnis = 3 * 4

/

Division

ergebnis = 3 / 4 ergebnis = 0.75 Fehler = 3 / 0

//

Division

ergebnis = 3 // 4 ergebnis = 0

%

Modula (Division mit Rest) sollte nur für Ganzzahlen genutzt werden.

ergebnis = 3 % 4 ergebnis = 3 ergebnis = 4 % 3 ergebnis = 1

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 8

Operator //  « 5 // 2 » liefert als Ergebnis 2. Die Nachkommastellen werden abgeschnitten.  « 5.0 // 2 » liefert als Ergebnis 2.0. Die Nachkommastellen werden abgeschnitten. Es wird aber eine Dezimalzahl ausgegeben.  « -5 // 2 » liefert als Ergebnis -3. Bei negativen Zahlen werden die Nachkommastellen nicht abgeschnitten. Die errechnete Dezimalzahl wird zur nächst höheren Ganzzahl gerundet.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 9

Zusammengesetzte Ausdrücke  Der Ausdruck « a * b + c » entspricht dem Ausdruck « (a * b) +c ». Das Malzeichen hat eine höherer Bindung als das Minuszeichen. Die Abarbeitung der Rechenschritte in einem zusammengesetzten Ausdruck erfolgt in Abhängigkeit der Rangfolge der Operatoren.  Der Ausdruck « a – b - c » entspricht dem Ausdruck « (a – b) – c ». Gleiche Operatoren werden immer von links nach rechts abgearbeitet.  Um Fehler zu vermeiden und die Lesbarkeit zu erhöhen, werden in Ausdrücken häufig Klammern genutzt.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 10

Rangfolge der Operatoren ** + (Vorzeichen) - (Vorzeichen) *

/

+

-

//

%

 In der Tabelle werden die Operatoren, beginnend mit der höchsten Priorität aufgelistet.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 11

Anweisungen  werden aus Ausdrücken gebildet.  werden zeilenweise geschrieben.  werden meist sequentiell ausgeführt. Das heißt, die Anweisungen werden Zeile für Zeile ausgeführt.  symbolisieren einen bestimmten Arbeitsschritt.  sind die kleinste Einheit in einem Python-Programm.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 12

Beispiele  Zuweisung: « a = 3 »  Berechnung eines Wertes: « b = a * 2 »  Aufruf einer Funkion: « print (a + b) »

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 13

Kommentare ...  erleichtern das Verstehen eines Programms.  bieten Informationen für den Entwickler.  müssen bei Code-Änderungen oder Programm-Erweiterungen angepasst werden.  werden vom Computer überlesen.  beziehen sich auf die Frage Warum wird in dieser Zeile diese Aktion ausgeführt? und nicht Wie wird diese Aktion in dieser Zeile ausgeführt?

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 14

Einzeilige Kommentare    

« #Dies ist ein Kommentar ». beginnen immer mit dem Hash-Zeichen. beziehen sich auf die nachfolgende Zeile. stehen rechts von der zu kommentierenden Zeile.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 15

Mehrzeilige Kommentare  « """ Dies ist ein mehrzeiliger Kommentar """ ».  beginnen und enden immer mit drei Anführungszeichens.  stehen am Anfang einer Datei, um das Gesamtprogramm zu erläutern.  erläutern ein Abschnitt eines Programms.  geben Auskunft über den Ersteller des Programms und deren Änderungsgeschichte.  dürfen nicht verschachtelt werden.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 16

Variablen ...     

sind Platzhalter für Zahlen und Zeichen. sind Container für einen Wert. werden durch das Programm verarbeitet. müssen vor der ersten Nutzung initialisiert werden. können mit Hilfe der Tastatur oder durch Ausdrücke verändert werden.  beziehen sich nicht auf einen bestimmte Wertetyp.  haben einen eindeutigen Namen.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 17

… aus der realen Welt  Die Menge der Zutaten in einem Kochrezept werden entsprechend der Anzahl der Personen angepasst. Die Mengenangaben sind variabel.  Je nach Menge oder Verschmutzungsgrad der Wäsche wird mehr oder weniger Waschmittel in die Waschmaschine gegeben.  Es wird ein bestimmtes Wort in einem Text gesucht. Es wird ein Positionszähler benötigt, der an den einzelnen Buchstaben entlang wandert.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 18

… in Python  « a = 4569 ». Eine Variable wird automatisch mit der Zuweisung eines Wertes erzeugt.  « b = a * 2 ». Variablen werden in Ausdrücken als Platzhalter für Werte genutzt. In diesem Beispiel verweist die Variable a auf den 4569. b verweist auf das Ergebnis des Ausdrucks.  « c = None ». Die Variable c verweist auf keinen bestimmten Wert.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

4569

a

4569 * 2 b

c

Seite 19

Weitere Erläuterungen  Jeder Wert in Python wird in einer Schublade im Speicher abgelegt.  Variablen sind der Schlüssel zu der Schublade. Variablen verweisen auf eine bestimmte Schublade im Speicher.  Eine Deklaration von Variablen vor der Initialisierung ist in Python nicht nötig.  Eine Variable kann auf jeden Datentyp verweisen. Der Wert, auf den sie verweist, ist aber von einem bestimmten Typ.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 20

Datenwerte ...  werden einer Variablen mit Hilfe des Zuweisungsoperators zugewiesen.  haben einen bestimmten Datentyp.  liegen an einer bestimmten Position im Speicher. Die Adresse kann mit Hilfe von « id(b) » abgefragt werden. Der Funktion « id » wird eine Variable als Argument übergeben. Die Funktion selber gibt eine Adresse auf die, die Variable verweist, als Integer-Wert zurück.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 21

Datentypen ...    

sind Baupläne für Werte. geben über das Format des gespeicherten Wertes Auskunft. legen Regeln über die Verwendung des Wertes fest. sind in Python Ganz- und Dezimalzahlen sowie Strings (Zeichenfolgen).  können mit Hilfe von « type(b) » abgefragt werden. Der Funktion « type » wird eine Variable als Argument übergeben. Die Funktion selber gibt den Datentyp des Wertes als Text zurück, auf den die Variable verweist.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 22

Boolsche Werte     

« aussage = True » oder « aussage = False ». werden bei einem Vergleich von zwei Werten zurückgeliefert. werden von bedingten Anweisungen zurückgeliefert. werden für einen Schleifenabbruch genutzt. Der Wert « True » (1) kann mit dem Zustand „Licht an“ symbolisiert werden. Der Wert « False » (0) kann mit dem Zustand „Licht aus“ symbolisiert werden

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 23

Zahlen in Python     

werden wie aus der Mathematik bekannt geschrieben. haben keine führende Null. Ganzzahl « a = 43510 » oder «b = 123455667890 ». Dezimalzahl «c = 5.434 ». Komplexe Zahl: « d = 1.2 + 3j ».

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 24

Ganzzahlen ...  werden nur durch die Größe des Speichers des Computers begrenzt.  können beliebig groß sein.  können als Hexadezimalzahl geschrieben werden. Zum Beispiel: « a =0xD ». Die Variable a verweist auf die Zahl 13. Hexadezimalzahlen werden aus den Zahlen 0..9 sowie den Zahlen A (10)..F (15) gebildet.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 25

Dezimalzahlen ...  «c = 5.434 » oder « c = -2e9 »  können auch in der wissenschaftlichen Notation geschrieben werden.  nutzen als Dezimalzeichen den Punkt.  sind immer nur Nährungswerte. Das heißt, in einer Berechnung von sehr kleinen oder großen Werten kann es zu Rundungsfehlern kommen. In Python sind Dezimalzahlen bis auf 15 Stellen genau.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 26

Speicherorte für die Datenwerte  « a = 43510 ». Die Zahl 4350 wird im Speicher abgelegt. Die Variable a verweist auf diesen Speicherplatz.  « b = a ». a und b verweisen auf den gleichen Speicherplatz. Beide Variablen verweisen auf den Wert 43510.  « b = a * a ». b wird als Platzhalter für den berechneten Wert genutzt. Die Variable b verweist auf den Speicherplatz der, durch den Ausdruck berechneten Variablen.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 27

Grafische Darstellung des Beispiels a

1.) « a = 43510 »

4350

b

2.) « a = b »

3.) « b = a * b » löst Verbindung 2)

Einführung in die prozedurale Programmierung mit Python, 27.08.10

1893120100

Seite 28

Variablennamen ...  müssen aus einer zusammenhängenden Zeichenfolge bestehen. Das heißt, Leerzeichen zur Trennung von Wörtern kommen in Variablennamen nicht vor.  sind einzigartig. Sie kommen nur einmal in einer Datei oder in einem Block vor.  beachten die Groß- und Kleinschreibung. Der Variablenname radius und Radius sind zwei verschiedene Platzhalter.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 29

Verbotene Variablennamen  Schlüsselwörter der Programmiersprache.  Eingebaute Funktionen dürfen nicht genutzt werden. Mit Hilfe von « dir(__builtins__) » können diese Namen angezeigt werden.  Einige vordefinierte Namen beginnen mit zwei Unterstrichen und enden mit zwei Unterstrichen. Diese Namen sollten nicht genutzt werden.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 30

Erlaubte Zeichen  Die Großbuchstaben A..Z, die Kleinbuchstaben a..z, die Zahlen 0..9 und der Unterstrich sind erlaubt.  Als erste Zeichen muss ein Buchstabe oder der Unterstrich genutzt werden. Bei Variablen wird häufig ein Kleinbuchstabe genutzt.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 31

Zusammengesetzte Variablen ...  werden häufig nach der Regeln der ungarischen Notation geschrieben.  Die Variable beginnt mit einem Kleinbuchstaben.  Alle nachfolgenden Teilnamen beginnen mit einem Großbuchstaben.  Beispiel lineBuffer, nErrFlag.  Andere Möglichkeit: Jedes Teilwort beginnt mit dem Unterstrich. Beispiel: line_buffer, n_err_flag.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 32

Präfixe für den Datentyp nutzen  spielt in Python keine Rolle, weil jede Variable jeden beliebigen Datentyp annehmen kann.  Beispiele für Präfixe:  booAusdruck für einen Wert, der nur wahr oder falsch liefert.  intKM für einen Ganzzahlwert.  flPreis für eine Dezimalzahl.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 33

Geeignete Variablennamen ...  geben über die Art und Nutzung des Wertes Auskunft. Zum Beispiel die Variable radius verweist auf einen Wert, der als Radius in einer Berechnung genutzt werden soll.  sind einfach zu lesen, da sie keine geheimnisvollen Abkürzungen enthalten.  sollten an den Namen des Objekts in der realen Welt angelehnt werden. Falls die Variable auf einen Temperaturwert verweist, wird diese Variable als Temperatur bezeichnet.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 34

Ungeeignete Variablennamen ...  sind kryptische Bezeichner wie x2, a33 etc.  haben keine Beziehung zum Wert, auf den verwiesen wird.  beschreiben exakt eine Merkmalsausprägung. Beispiel: Es werden die Farben von Autos gespeichert. Die Variable, die auf diese Farben verweist, hat den Namen rot.  nutzen Verben. Verben beschreiben eine Aktion und sollten nur selbst definierte Methoden genutzt werden. Methoden sind Funktionen, die mit einem bestimmten Objekt kommunizieren.  bestehen nur aus einen Zeichen. Ausnahme: Zähler oder Indizes haben häufig nur ein Zeichen.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 35

Eingabe (input) und Ausgabe (output)  … wird nicht mit Hilfe von Schlüsselwörtern realisiert.  Funktionen etc. für die Ein- und Ausgabe sind in Python vordefiniert.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 36

Ausgabe  « print(4536) » gibt die Zahl 4535 am Bildschirm aus.  Die Funktion wird mit dem Namen print aufgerufen.  Die Funktion ist eine vordefinierte Funktion der Programmiersprache Python  Dem Namen der Funktion folgen die runden Klammern. In den runden Klammern befindet sich eine Liste von Argumenten. Die einzelnen Argumente werden in der Liste durch Kommata getrennt und am Bildschirm ausgedruckt.  Zwischen der geöffneten, runden Klammer und dem Namen der Funktion befinden sich kein Leerzeichen.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 37

Mögliche Argumente  Eine Zahl oder String wird als Konstante übergeben.  Eine Variable wird übergeben. Der Wert, auf den die Variable verweist, wird am Bildschirm angezeigt.  Ein Ausdruck wird übergeben. Das Ergebnis des Ausdrucks wird auf dem Bildschirm angezeigt.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 38

Einzelne Elemente am Bildschirm anzeigen    

« print(4536) » gibt die Zahl 4535 am Bildschirm aus. « print(12.5) » gibt den Wert 12.5 am Bildschirm aus. « print(a) » gibt den Wert, auf den die Variable a verweist, aus. « print(a * 2) » gibt das Ergebnis des Ausdruck „a * 2“ auf dem Bildschirm aus.  « print(id(2() » gibt den Rückgabewert der Funktion id auf dem Bildschirm aus.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 39

Liste von Elemente nutzen  « print("Ergebnis der Berechnung a * 2: ", a * 2) ».  Eine Liste von Argumenten kann aus beliebig vielen Elementen bestehen.  Die Elemente werden durch ein Kommata getrennt.  Die Elemente werden durch ein Leerzeichen getrennt am Bildschirm angezeigt.  « print("Ergebnis der Berechnung a * 2: ", a * 2, sep=", ") ». Mit Hilfe des benannten Arguments « sep » kann ein Trennzeichen vom Entwickler festgelegt werden. Dem benannten Argument wird mit Hilfe des Gleichheitszeichen ein String zugewiesen.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 40

Steuerzeichen    

… sind nicht druckbare Zeichen eines Zeichensatzes. … sind zum Beispiel das Zeilen-Endezeichen. … werden in Strings genutzt. … beginnen immer mit einem Backslash \.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 41

… in Python Steuerzeichen

Bedeutung

\b

Backspace. Einen Schritt zurück.

\f

Formfeed. Seitenvorschub.

\n

New Line. Neue Zeile.

\r

Carriage Return. Wagenrücklauf.

\t

Horizontaler Tabulator.

\v

Vertikaler Tabulator.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 42

Zeichen maskieren Zeichen

Bedeutung

\"

Anführungszeichen.

\'

Apostroph.

\\

Backslash.

\0

Null.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 43

Trennung zwischen den Argumenten « print("Berechnung der bionomischen Formel: a²+2ab+b²\n", "a = ", a, "; b = ", b, "\n", "Ergebnis:", ergebnis, sep="") »  Mit Hilfe des benannten Operators sep wird ein Trennzeichen zwischen den verschiedenen Argumenten festgelegt.  Standardmäßig werden alle Argumente durch ein Leerzeichen getrennt.  Mit Hilfe des Gleichheitszeichens kann dem benannten Argument jedes beliebige Zeichen als Zeilenende zugewiesen werden. Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 44

Zeichen für das Zeilenende « print("Berechnung der bionomischen Formel: a²+2ab+b²\n", "a = ", a, "; b = ", b, "\n", "Ergebnis:", ergebnis, end="") »  Mit Hilfe des benannten Operators end wird ein Zeichen für das Zeilenende festgelegt.  Standardmäßig wird in die neue Zeile gewechselt.  Mit Hilfe des Gleichheitszeichens kann dem benannten Argument jedes beliebige Zeichen als Zeilenende zugewiesen werden.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 45

Eingaben von der Tastatur einlesen  « strZahl = input("Bitte geben Sie eine Zahl ein: ") ».  Mit Hilfe von « input() » werden Tastatureingaben eingelesen.  Der vordefinierten Funktion kann ein Text zur Erläuterung, was eingegeben werden soll, übergeben werden. Dieser Text wird dem Benutzer als Hilfe angezeigt.  Nach dem Start der Funktion wird auf eine Eingabe des Benutzers gewartet. Die Eingabe wird mit beendet.  Die Funktion hat als Rückgabewert einen String. Falls der String in Berechnungen etc. genutzt werden soll, muss dieser konvertiert werden.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 46

Konvertierungen  « intZahl = int(arg) » wandelt das übergebene Argument in eine Ganzzahl um.  Falls ein String als Argument übergeben wird, werden Leerzeichen am Anfang und Ende igonoriert.  Falls eine Dezimalzahl als Argument übergeben wird, werden die Nachkommastellen gestrichen. Die Zahl wird nicht gerundet!  « fltZahl = float(arg) » wandelt das übergebene Argument in eine Dezimalzahl um.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 47

Trennung einer Zeichenkette « print("Geben Sie eine Zahl ein." " Mit Hilfe von q wird das Programm beendet") »  Jede Zeichenkette beginnt und endet mit einem Anführungszeichen oder Apostroph.  Leerzeichen vor einem Wort sowie Zeilenumbrüche für die Textausgabe müssen manuell gesetzt werden.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 48

Trennung eines Ausdrucks « ergebnis = (a * a) \ + (2 * a *b) \ + (b * b) »  Ein Ausdruck wird mit Hilfe des Backslash getrennt.  Der Backslash ist ein Symbol für die Weiterführung des Ausdrucks in der nächsten Zeile.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 49

Trennung von Argumenten « print("Berechnung der bionomischen Formel: a²+2ab+b²\n", "a =", a, "; b =", b, "\n", "Ergebnis:", ergebnis) »  Argumente, die an einer Funktion übergeben werden, können zeilenweise geschrieben werden.  Das Komma trennt Elemente einer Auflistung. Nach jeden Komma kann eine neue Zeile begonnen werden.

Einführung in die prozedurale Programmierung mit Python, 27.08.10

Seite 50