Python - Programmierung · Programmiersprache Python Seite 6 ANSI-Zeichen Jedes Zeichen wird mit 1...
Transcript of Python - Programmierung · Programmiersprache Python Seite 6 ANSI-Zeichen Jedes Zeichen wird mit 1...
Anja Aue | 05.09.16
PythonStrings
H a l l o
Programmiersprache Python Seite 2
Strings (Zeichenketten)
Zusammenfassung von alphanumerischen und numerischen Zeichen.
Folge von Zeichen, die mit Hilfe des ANSI-Zeichensatzes oder Unicode-Zeichensatzes kodiert sind.
Sammlung von Buchstaben, Zahlen, Satzzeichen, Sonderzeichen und mathematischen Symbolen in einem Feld.
Programmiersprache Python Seite 3
Kurze Strings
autor = "Monty Python"stueck = 'Flying Circus'
Einzeilige beliebig lange Zeichenketten. Begrenzung durch Anführungszeichen: Im String kommen
keine Anführungszeichen vor. Begrenzung durch das Apostroph: Im String kommt kein
Apostroph vor.
Programmiersprache Python Seite 4
Lange Strings
zitat01 =""" Mr Mousebender: Tell me, do you have any cheese at all?\n Henry Wenslydale: Yes.\n"""zitat02 = ''' This parrot is no more. It has ceased to be. It's expired and gone to meet its maker. This is a late parrot. It's a stiff. Bereft of life, it rests in peace.\n If you hadn't nailed it to the perch, it would be pushing up the daisies. It's rung down the curtain and joined the choir invisible. This is an ex-parrot. '''
Programmiersprache Python Seite 5
Erläuterung
Mehrzeilige Texte werden durch drei direkt aufeinanderfolgende Anführungszeichen oder Apostrophs begrenzt.
In einem mehrzeiligen String kann jedes beliebiges Zeichen, genutzt werden. Ausnahme: Der Backslash darf am Ende des Strings nicht genutzt werden.
Der String wird wie im Code angegeben auf dem Bildschirm angezeigt.
Programmiersprache Python Seite 6
ANSI-Zeichen
Jedes Zeichen wird mit 1 Byte (8 Bits) kodiert. Erweiterter ASCII-Zeichensatz. Die ersten 128 Zeichen entsprechen dem ASCII-Zeichensatz.
Standard in Python 2.x. Die weiteren 128 Zeichen enthalten sprachspezifische
Zeichen wie Ä, Ö etc. Die häufigste Erweiterung ist Latin 1 (ISO 8859-1).
Programmiersprache Python Seite 7
… im Internet
http://www.torsten-horn.de/techdocs/ascii.htm http://lubasch.ch/wp-
content/uploads/2015/01/ascii_tabelle.pdf http://www.tabelle.info/ascii_zeichen_tabelle.html http://www.asciitable.com/
C++ - Einführung | 06.05.15 Seite 8
Escape-Sequenzen
Nicht druckbare Zeichen eines Zeichensatzes. Steuerzeichen wie zum Beispiel der Zeilenumbruch. Zeichen, die mit einem Backslash beginnen. Siehe https://docs.python.org/3/reference/lexical_analysis.html.
C++ - Einführung | 06.05.15 Seite 9
Escape-Sequenzen
\
\
\
b
f
n
\
\
\
r
t
v
Back space. Gehe einen Schritt zurück.
Form feed. Seitenumbruch.New Line. Gehe zum Anfang einer neuen Zeile.Carriage return. Gehe zum Anfang der aktuellen Zeile.
Horizontal Tabulator.
Vertical Tabulator.
C++ - Einführung | 06.05.15 Seite 10
Escape-Sequenzen
\
\
\
"
'
\
Anführungszeichen.
Apostroph.
Umgekehrter Schrägstrich. Backslash.
C++ - Einführung | 06.05.15 Seite 11
Strings und der Backslash
Ein Backslash am Anfang oder in einem String, wird als das Zeichen „Backslash“ interpretiert.
Ein Backslash am Ende eines Strings, dem direkt ein Anführungszeichen oder Apostroph folgen, verursacht einen Fehler. Der String wird ist nicht korrekt abgeschlossen.
Programmiersprache Python Seite 12
Unicode
Alle bekannten Zeichen sollen zu einem Zeichensatz zusammengefasst werden.
Juni 2016 Veröffentlichung von Unicode 9.0. Standard ab Python 3.x: UTF-8 (ein Zeichen = 1 Byte).
Weitere Möglichkeiten: UTF-16 und UTF-32.
Programmiersprache Python Seite 13
… im Internet
https://docs.python.org/3/howto/unicode.html http://unicode.org/ http://unicode-table.com/de/ http://unicode.e-workers.de/about_unicode.php
Programmiersprache Python Seite 14
Unicode-String
zeichenUnicode = u"æøå"
Ein kleines u vor dem String kennzeichnet einen Unicode-String.
Die Kennzeichnung wird ab Python 3.x nicht mehr benötigt.
Programmiersprache Python Seite 15
Escape-Sequenz als Unicode-Zeichen
escapeUnicode = "\u00E6\u00F8\u00E5"
\u maskiert den Code für ein Unicode-Zeichen. Mit Hilfe der vierstelligen Ziffer wird ein Unicode-Zeichen
maskiert.
Programmiersprache Python Seite 16
Raw-String
rohstring = r"C:\Wurzel\Ordner\Unterordner\Datei"
Ein kleines r vor dem String kennzeichnet einen „rohen“ String.
Escape-Sequenzen werden nicht interpretiert. Es wird kein Backslash ersetzt.
Der String darf nicht mit dem Backslash enden. Andernfalls wird die Fehlermeldung EOL while scanning string literal angezeigt.
Programmiersprache Python Seite 17
… endet mit einem Backslash
rohstring = r"C:\Wurzel\Ordner\Unterordner\Datei" + "\\"rohstring = r"C:\Wurzel\Ordner\Unterordner\Datei" + chr(92)
Mit Hilfe des Pluszeichens kann ein „roher“ String mit einem String verknüpft werden.
Der Backslash wird mit der passenden Escape-Sequenz angegeben.
Andere Möglichkeit: Der Backslash wird mit Hilfe der Funktion chr() angegeben.
Programmiersprache Python Seite 18
Kodierung eines Zeichens
rohstring = r"C:\Wurzel\Ordner\Unterordner\Datei" + chr(92)
Die Funktion chr() gibt ein Zeichen entsprechend der angegebenen Codierung zurück.
In den runden Klammern wird der Funktion eine Ganzzahl übergeben.
Die übergebenen Ganzzahl definiert exakt ein Zeichen im Unicode-Zeichensatz.
Programmiersprache Python Seite 19
Codierung von Zeichen
zeichenAscii= "abc"
print(zeichenAscii.encode('ascii') )print(zeichenAscii.encode('utf-8') )print(zeichenAscii.encode('latin1') )
Programmiersprache Python Seite 20
Erläuterung
Der Variablen zeichenAscii wird der String abc zugewiesen. Mit Hilfe der Methode .encode wird der String in Abhängigkeit
einer Zeichentabelle kodiert. Die gewünschte Zeichenkodierung ascii wird der Methode in
runden Klammern als String übergeben. Der zu kodierende String wird mit der Methode durch den
Punktoperator verbunden.
zeichenAscii= "abc"
zeichenAscii.encode('ascii')
Programmiersprache Python Seite 21
String-Methoden
result = string.methode(par01, par02,...) Methoden sind in Klassen definiert. Jede Methode hat einen
eindeutigen Namen. Klassen stellen Baupläne für ein konkretes Objekt dar. In
diesem Bauplan ist das Verhalten (Methoden) und die Eigenschaften (Attribute) definiert.
Das Objekt zeichenAscii ist nach einem bestimmten Plan gebaut. Alle, in dem Plan definierten Methoden können auf das Objekt angewendet werden.
zeichenAscii= "abc"
zeichenAscii.encode('ascii')
Programmiersprache Python Seite 22
Parameter von Methoden
In den runden Klammern wird eine Parameterliste definiert. Die runden Klammern stehen direkt im Anschluss am
Methodennamen. Die Parameterliste kann x Parameter oder keine enthalten. Die Parameter in der Liste werden durch ein Komma getrennt. In diesem Beispiel wird der Methode als einziger Parameter
die gewünschte Zeichenkodierung als String übergeben.
zeichenAscii= "abc"
zeichenAscii.encode('ascii')
Programmiersprache Python Seite 23
Rückgabewert
Jede Methode gibt in Python None oder einen definierten Wert zurück.
Die Methode .encode() gibt ein Byte-Objekt in der gewünschten Zeichenkodierung zurück.
zeichenAscii= "abc"
zeichenAscii.encode('ascii')
Programmiersprache Python Seite 24
Konvertierung nach ASCII
zeichenUnicode = u"abc-æøå"
print(zeichenUnicode.encode('ascii','ignore') )print(zeichenUnicode.encode('ascii','replace') )print(zeichenUnicode.encode('ascii','backslashreplace') )
Programmiersprache Python Seite 25
Erläuterung
Der Variablen zeichenAscii wird der String abc zugewiesen. Mit Hilfe der Methode .encode wird der String in Abhängigkeit
einer Zeichentabelle kodiert. Die gewünschte Zeichenkodierung ascii wird der Methode in
runden Klammern als String übergeben. Mit Hilfe des zweiten Parameters wird eine Fehlerbehandlung festgelegt.
Der zu kodierende String wird mit der Methode durch den Punktoperator verbunden.
zeichenAscii= "abc"
print(zeichenUnicode.encode('ascii','replace') )
Programmiersprache Python Seite 26
Parameterliste der Methode .encode()
In diesem Beispiel werden der Methode .encode() zwei Parameter übergeben.
Beide Parameter sind String-Variablen. Die Parameter in der Liste werden durch ein Komma getrennt.
zeichenUnicode = u"abc-æøå"
zeichenUnicode.encode('ascii','ignore')
Programmiersprache Python Seite 27
Parameter der Methode .encode()
Erster Parameter: In welchen Zeichensatz wird der String kodiert?
Zweiter Parameter: Wie werden Zeichen behandelt, die nicht in den Ziel-Zeichensatz kodiert werden können?
zeichenUnicode = u"abc-æøå"
zeichenUnicode.encode('ascii','ignore')
Programmiersprache Python Seite 28
Möglichkeiten für den zweiten Parameter
zeichenUnicode.encode('ascii','ignore') zeichenUnicode.encode('ascii','replace') zeichenUnicode.encode('ascii','backslashreplace')
Das Argument ignore ignoriert Zeichen, die nicht in der angegebenen Zeichentabelle (erster Parameter) vorhanden sind.
Das Argument replace ersetzt die Zeichen mit passenden Zeichen aus der Zeichentabelle. Falls keine passenden Zeichen vorhanden sind, werden Fragezeichen gesetzt.
Das Argument backslashreplace ersetzt die nicht vorhandenen Zeichen durch die entsprechenden Escape-Sequenzen.
Programmiersprache Python Seite 29
Beispiele für den Rückgabewert
>>> zeichenUnicode = u"abc-æøå"
>>> zeichenUnicode.encode('ascii','ignore') B'abc-'
>>> zeichenUnicode.encode('utf-8','ignore')b'abc-\xc3\xa6\xc3\xb8\xc3\xa5'
>>> zeichenUnicode.encode('latin1','ignore')b'abc-\xe6\xf8\xe5'
Programmiersprache Python Seite 30
Rückgabewert
Die Methode kann einen Wert zurückgeben. Die Methode .encode() gibt ein Byte-Objekt in der
gewünschten Zeichenkodierung zurück.
zeichenUnicode = u"abc-æøå"
zeichenUnicode.encode('ascii','ignore')
Programmiersprache Python Seite 31
Byte-Literal
Kennzeichnung mit einem b bei einer Ausgabe in der Shell. Besteht aus einer Folge von Bytes. Ein Byte setzt sich aus 8
Einsen und / oder Nullen zusammen.
>>> zeichenUnicode = u"abc-æøå"
>>> zeichenUnicode.encode('ascii','ignore') b'abc-'
Programmiersprache Python Seite 32
Länge eines Strings
autor = "Monty Python"anzahlBuchstaben = len(autor)
Mit Hilfe der Funktion len() wird die Anzahl der Elemente in einem String ermittelt.
Der Methode wird der zu untersuchende String als Parameter in den runden Klammern übergeben.
Die Methode gibt die Anzahl der Zeichen eines Strings zurück.
C++ - Einführung | 06.05.15 Seite 33
Indizes der Zeichen in einem String
Von links beginnend hat das erste Element den Index 0. Die Zeichenkette wird vom ersten bis zum letzten Zeichen durchlaufen. Das letzte Element hat den Index (Länge – 1).
Von rechts beginnend hat das erste Element den Index -1. Die Zeichenkette wird vom letzten bis zum ersten Zeichen durchlaufen.
M o n t y P y t h o
0 1 2 3 4 5 6 7 8 9 10
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2
n
11
-1
Programmiersprache Python Seite 34
Nutzung von Indizes
autor = "Monty Python"
zeichenFirst = autor[0]zeichenLast = autor[-1]
Als Indizes werden positive oder negative Ganzzahlen genutzt.
Der Index wird in eckigen Klammern angegeben. Bei einem Überschreiten der Grenzen wird der Fehler index
out of range gemeldet.
Programmiersprache Python Seite 35
Verknüpfung von Strings
autor = "Monty Python"
angabe = autor + ' ' + stueck + "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
Mit Hilfe des Pluszeichens werden Strings miteinander verknüpft.
Eine Verknüpfung von Zahlen und Strings erzeugt den Fehler TypeError: Can't convert 'int' object to str implicitly. Eine automatische Konvertierung von Zahlen in Strings findet nicht statt.
Programmiersprache Python Seite 36
Umwandlung in ein String
autor = "Monty Python"
angabe = autor + ' ' + stueck + "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
Mit Hilfe der Funktion str() kann ein beliebiger anderer Datentyp in einen String konvertiert werden.
In den runden Klammern wird der Funktion der umzuwandelnde Wert übergeben.
In diesem Beispiel werden die Jahreszahlen 1969 und 1974 in einen String umgewandelt.
Programmiersprache Python Seite 37
Teilstring am Ende anhängen
angabe = autor + ' ' angabe += stueckangabe += "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
Der Operator += ist ein zusammengesetzter Operator. Im ersten Schritt wird die Variable rechts vom Operator zu
dem Operator links addiert. In diesem Beispiel wird der Wert der Variablen autor an das Ende der Variablen angabe angehängt.
Im nächsten Schritt wird der neu berechnete Wert der Variablen angabe zugewiesen.
Programmiersprache Python Seite 38
Verknüpfung einer Liste von Strings
autor = "Monty Python"stueck = 'Flying Circus'serie = "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
angabe = " ".join([autor, stueck, serie])
Die Methode .join() verknüpft eine Liste von Strings. Zwischen den einzelnen „Wörter“ wird automatisiert ein
Trennzeichen eingefügt.
Programmiersprache Python Seite 39
Definition einer Liste von Elementen
autor = "Monty Python"stueck = 'Flying Circus'serie = "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
angabe = " ".join([autor, stueck, serie])
Der Methode .join() wird als Parameter in den runden Klammern eine Liste von Strings übergeben.
Die Liste wird durch eckige Klammern begrenzt. Die Elemente in der Liste werden durch ein Komma getrennt. In Abhängigkeit der Reihenfolge der Liste werden die
Elemente durch die Methode .join() verbunden.
Programmiersprache Python Seite 40
Trennzeichen zwischen den Wörtern im String
autor = "Monty Python"stueck = 'Flying Circus'serie = "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
angabe = " ".join([autor, stueck, serie])
Die Methode .join() ist in dem Objekt „String“ definiert . Das Objekt und die Methode werden durch einen Punkt
verbunden. Das Objekt (das Trennzeichen) steht links vom Punkt. In
diesem Beispiel werden die Listenelemente mit Hilfe eines Leerzeichens in der angegebenen Reihenfolge verbunden.
Programmiersprache Python Seite 41
Rückgabe des verknüpften Strings
autor = "Monty Python"stueck = 'Flying Circus'serie = "(TV-Serie " + str(1969) + '–' + str(1974) + ')'
angabe = " ".join([autor, stueck, serie])
Die Methode .join() gibt den String „Monty Python Flying Circus (TV-Serie 1969 – 1974)“ zurück.
Der verknüpfte String wird in der Variablen angabe gespeichert.
Programmiersprache Python Seite 42
… ist enthalten in
zitat01 =""" Mr Mousebender: Tell me, do you have any cheese at all?\n Henry Wenslydale: Yes.\n"""
if("Wenslydale" in zitat01): print("Sketch with Mousebender and Wenslydale")
Ist "Wenslydale" in der Variablen zitat01 enthalten? Die Überprüfung gibt True oder False zurück. Hinweis: Die Groß- und Kleinschreibung wird beachtet.
Programmiersprache Python Seite 43
… ist nicht enthalten in
zitat01 =""" Mr Mousebender: Tell me, do you have any cheese at all?\n Henry Wenslydale: Yes.\n"""
if("Wenslydale" not in zitat01): print("Unknown")
Ist "Wenslydale" in dem Wert Variablen zitat01 nicht enthalten? Die Überprüfung gibt True oder False zurück. Hinweis: Die Groß- und Kleinschreibung wird beachtet.
Programmiersprache Python Seite 44
Ausschneiden von Teilstrings
angabe = autor + ' ' + stueck
teilstring = angabe[0:5]teilstring = angabe[0:len("Monty") - 1]teilstring = angabe[:len("Monty: ") - 1]
Ausschneiden (slicing) von Teilstrings von … bis … aus einem anderen String.
string[start:stopp]. In den eckigen Klammern wird ein Start- und Stopp-Wert
angegeben. Start- und Stopp-Werte werden mit dem Doppelpunkt
verbunden.
Programmiersprache Python Seite 45
Angabe des Startwertes
angabe = autor + ' ' + stueck
teilstring = angabe[0:5]teilstring = angabe[0:len("Monty") - 1]teilstring = angabe[:len("Monty: ") - 1]
Das erste Zeichen, welches beim Ausschneiden genutzt wird. Positive oder negative Ganzzahl links vom Doppelpunkt. Berechnung des Startwertes durch Suche nach einem Wort
etc. Weglassung des Startwertes: Beginn beim ersten Zeichen.
Das erste Zeichen besitzt den Index 0.
Programmiersprache Python Seite 46
Angabe des Stoppwertes
angabe = autor + ' ' + stueck
teilstring = angabe[0:5]teilstring = angabe[0:len("Monty") - 1]teilstring = angabe[:len("Monty: ") - 1]
Das erste Zeichen, welches nicht für den Teilstring genutzt wird.
Positive oder negative Ganzzahl rechts vom Doppelpunkt. Berechnung des Startwertes zum Beispiel durch die Funktion
len(). Weglassung des Startwertes: Ende beim letzten Zeichen. Das
letzte Zeichen besitzt den Index len(string) - 1.
Programmiersprache Python Seite 47
Rückgabe des Teilstrings von … bis ...
angabe[0:5]
M o n t y P y t h o
0 1 2 3 4 5 6 7 8 9 10
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2
n
11
-1
angabe[-6:]angabe[:-7]
angabe[:]
Programmiersprache Python Seite 48
Suchen nach einem String ...
anfangsPos = angabe.index("Flying")endPos = anfangsPos + len("Flying")
teilstring = angabe[anfangsPos: endPos]
In Python hat das Objekt <class 'string'> die Methode .index(). Die Methode gibt die Anfangsposition eines Strings in einer
Zeichenkette zurück.
Programmiersprache Python Seite 49
Der zu durchsuchende String
anfangsPos = angabe.index("Flying")
Das Objekt und die Methode werden durch den Punkt verbunden.
Das Objekt (links vom Punkt) wird durch die Methode (rechts vom Punkt) verändert.
In diesem Beispiel wird in dem String-Objekt angabe den Beginn eines Teilstrings gesucht.
Programmiersprache Python Seite 50
Suchwort
Der Methode .index() wird der zu suchende String als Parameter übergeben. In diesem Beispiel wird der Methode .index() der Parameter Flying übergeben.
Die Parameterliste einer Methode wird durch die runden Klammern begrenzt und folgt direkt dem Methodennamen.
anfangsPos = angabe.index("Flying")
Programmiersprache Python Seite 51
Position des Suchwortes
Die Methode .index() gibt die Anfangsposition eines Strings in einem anderen zurück.
In diesem Beispiel wird der String Flying in der String-Variablen angabe gesucht. Falls der String nicht gefunden wird, wird der Fehler ValueError: substring not found zurückgegeben.
anfangsPos = angabe.index("Flying")
Programmiersprache Python Seite 52
Suchen nach dem String ...
anfangsPos = angabe.find("Flying")endPos = anfangsPos + len("Flying")
teilstring = angabe[anfangsPos: endPos]
In Python hat das Objekt <class 'string'> die Methode .find(). Das Objekt <class 'string'> kann eine Zeichenkette direkt im
Code oder eine Variable sein. Die Methode .find() gibt die Funktion .index() die
Anfangsposition eines String in einer Zeichenkette wieder.
Programmiersprache Python Seite 53
Das zu durchsuchende Objekt
anfangsPos = angabe.find("Flying")
Mit Hilfe des Punktoperators werden der zu durchsuchende String und die Methode verbunden.
Die Variable angabe verweist auf eine Zeichenkette. In dieser Zeichenkette wird ein String gesucht.
Programmiersprache Python Seite 54
Suchwort
Der Methode .find() wird als Parameter der zu suchende String übergeben.
In diesem Beispiel wird der String Flying in der Variablen angabe gesucht.
Die runden Klammern fassen Parameter zusammen, die einer Methode übergeben werden.
anfangsPos = angabe.find("Flying")
Programmiersprache Python Seite 55
Position des Suchwortes
Die Methode .find() gibt den Beginn eines Wortes in einer Zeichenkette zurück.
In diesem Beispiel wird der String Flying in der String-Variablen angabe gesucht. Falls der String nicht gefunden wird, gibt die Methode den Wert -1 zurück.
anfangsPos = angabe.find("Flying")
Programmiersprache Python Seite 56
Ersetzung von Zeichen in einem String
Die Methode .replace() ersetzt ein Zeichen durch ein anderes. Falls vorhanden, werden die Zeichen in dem String links vom
Punktoperator ersetzt. In diesem Beispiel wird der String "4.56" nach dem Zeichen
„Punkt“ durchsucht. Falls ein Punkt in dem String gefunden wird, wird dieses Zeichen durch ein Komma ersetzt.
"4.56".replace('.', ',')
Programmiersprache Python Seite 57
Parameter der Methode .replace()
Die zu übergebenden Parameter werden mit Hilfe der runden Klammern zusammengefasst.
Die einzelnen Parameter werden durch ein Komma getrennt. Der erste Parameter gibt den suchenden String an. Der erste Parameter wird durch den zweiten Parameter in
dem angegebenen String ersetzt.
"4.56".replace('.', ',')
Programmiersprache Python Seite 58
Formatierung von Strings
Die Methode .format() liefert einen formatierten String zurück. Siehe https://docs.python.org/3/library/string.html#string-
formatting.
wohnort = "{1} {0}".format("Hannover", 30159)
strTemperatur = "Fieber: Temperatur zwischen {0} °C und {1} °C" .format(37.5, 39.4)
Programmiersprache Python Seite 59
Parameterliste der Methode .format()
Die Methode .format() besitzt eine Parameterliste. Die Parameterliste wird durch die runden Klammern begrenzt.
Die einzelnen Parameter in der Liste werden durch ein Komma getrennt. In der Liste können beliebig viele Parameter vorkommen.
Die Parameter in der Liste werden von 0 bis n von links nach rechts nummeriert.
wohnort = "{1} {0}".format("Hannover", 30159)
Programmiersprache Python Seite 60
Formatstring
Der Formatstring und die Methode .format() werden durch den Punkt verbunden.
Der Formatstring wird durch die Anführungszeichen oder den Apostroph begrenzt.
Der Formatstring besteht aus statischen Text und Platzhaltern für variablen Text.
wohnort = "{1} {0}".format("Hannover", 30159)
Programmiersprache Python Seite 61
Platzhalter
Platzhalter beginnen und enden mit einer geschweiften Klammer.
Platzhalter werden von 0 bis n nummeriert. Platzhalter können an jeder beliebigen Position eines
Formatstrings vorkommen.
wohnort = "{1} {0}".format("Hannover", 30159)
Programmiersprache Python Seite 62
{0} {1} {2}
Ersetzung der Platzhalter
format.'{2}.{0}.{1}'
2011301
Für jeden Parameter ist ein Platzhalter im Formatstring vorhanden.
Jede Nummer in den geschweiften Klammern im Formatstring verweist auf ein Parameter in der Parameterliste der Methode.
Die Reihenfolge der Parameter in der Parameterliste muss nicht der Reihenfolge der Platzhalter im Formatstring entsprechen.
201130 1( , , )
Programmiersprache Python Seite 63
Formatierungsregeln
{ 0 :
{ Index :
>
Aus-richtung
0
Füll- zeichen
6
Feldweite
.
.
3
Anzahl / Länge
}
}
Programmiersprache Python Seite 64
Minimale Feldweite
format.'6:0{' 1.2( )}
1 . 2
Programmiersprache Python Seite 65
Minimale Feldweite
format.'6:0{' 1.234567( )}
3 4 51 . 2 6 7
Programmiersprache Python Seite 66
Linksbündige Ausrichtung eines Strings
format.'6:0{' "abc"( )}
a b c
<
Programmiersprache Python Seite 67
Rechtsbündige Ausrichtung eines Strings
format.'6:0{' "abc"( )}
a b c
>
Programmiersprache Python Seite 68
Zentrierung eines Strings
format.'6:0{' "abc"( )}
ca b
^
Programmiersprache Python Seite 69
Leerstellen mit einem Füllzeichen auffüllen
format.'6:0{' "abc"( )}
c ? ?? a b
>?
Programmiersprache Python Seite 70
Hinweise
Das Füllzeichen wird vor der Textausrichtung angegeben. Dem Füllzeichen muss ein Zeichen für die Textausrichtung
folgen. Als Füllzeichen kann jedes beliebige Zeichen genutzt werden.
Standardmäßig wird ein String mit Leerzeichen aufgefüllt.
Programmiersprache Python Seite 71
Maximale und minimale Textbreite eines Strings
format.'8:0{' "abc"( )}
ca b
.4
Programmiersprache Python Seite 72
Maximale und minimale Textbreite eines Strings
format.'8:0{' "123456789"( )}
3 41 2
.4
7 85 6
Programmiersprache Python Seite 73
Maximale und minimale Textbreite einer Zahl
format.'8:0{' 1.23456789( )}
3 41 2
.4
7. 5 6
Programmiersprache Python Seite 74
Maximale und minimale Breite von „Float“
format.'8:0{' 1.234567891( )}
3 41 2
.4
7. 5 6
f
98
Minimal 4 Stellen
Max. 8 Nachkommastellen
Programmiersprache Python Seite 75
Maximale und minimale Breite von „Integer“
format.'8:0{' 1234( )}
3 41 2
0
00 0
d
0Minimal 8 Stellen
Fülle nicht besetzte Stellen mit 0 auf
Programmiersprache Python Seite 76
Ausgabe in die Standardausgabe
Mit Hilfe der Funktion print() wird ein Objekt auf der Standardausgabe ausgegeben.
Die Entwicklungsumgebung IDLE nutzt die Shell als Standardausgabe.
print("Erhöhte Temperatur")
Programmiersprache Python Seite 77
Parameter der Funktion
Der Funktion print() wird der aus zugebende String als Parameter übergeben.
Der aus zugebende String kann als Literal angegeben werden. Andere Möglichkeit: Eine Stringvariable wird für die Ausgabe genutzt.
ausgabe = "Fieber in Höhe von {0:4.2f} °C".format(temperatur)print(ausgabe)
Programmiersprache Python Seite 78
Abschluss der Ausgabe
Standardmäßig wird jede Ausgabe mit einem Zeilenumbruch (newline, \n) abgeschlossen.
Mit Hilfe des benannten Parameters end kann ein beliebiges Zeichen als Abschluss genutzt werden. Dem benannten Parameter wird mit Hilfe des Gleichheitszeichen das gewünschte Ende-Zeichen zugewiesen. In diesem Beispiel wird die Ausgabe mit einem Leerzeichen abgeschlossen.
print ("Sehr hohes Fieber in Höhe von ", end=" ") print ("{0:4.2f} °C".format(temperatur))
Programmiersprache Python Seite 79
Einlesen von der Standardeingabe
Mit Hilfe der Funktion input() können Eingaben von der Standardeingabe gelesen werden.
Die Entwicklungsumgebung IDLE nutzt die Shell als Standardeingabe.
strTemperatur = input("Bitte geben Sie die Temperatur ein: ")
Programmiersprache Python Seite 80
Eingabe des Nutzers
Die Funktion input() gibt ab Python 3.x immer einen String zurück.
Die Eingabe wird mit der Eingabetaste (<Return>) beendet.
strTemperatur = input("Bitte geben Sie die Temperatur ein: ")
Programmiersprache Python Seite 81
Konvertierung des Strings in „float“
Die Funktion float() wandelt den String in eine Gleitkommazahl um.
Falls eine Umwandlung nicht möglich ist, wird eine Fehlermeldung ValueError: could not convert string to angezeigt.
Hinweis: Ein Komma als Dezimaltrennzeichen wird nicht automatisch in ein Punkt konvertiert.
strTemperatur = input("Bitte geben Sie die Temperatur ein: ")
temperatur = float(strTemperatur)
Programmiersprache Python Seite 82
Konvertierung des Strings in „int“
Die Funktion int() wandelt den String in eine Ganzzahl (Integer) um.
Falls eine Konvertierung nicht möglich ist, wird ein Fehler ValueError: could not convert string to gemeldet.
strTemperatur = input("Bitte geben Sie die Temperatur ein: ")
temperatur = int(strTemperatur)
Programmiersprache Python Seite 83
Arbeiten mit Dateien
datei = open('arbeitsdatei', 'w')strTemperatur = input("Durchschnittstemp. Januar : ")datei.write(strTemperatur)strTemperatur = input("Durchschnittstemp. März ein: ")datei.write('\nMärz ')datei.write(strTemperatur)datei.close()
datei = open('arbeitsdatei', 'r')strInhalt = datei.read()datei.close()print(strInhalt)
Programmiersprache Python Seite 84
Öffnen einer Datei
Die Funktion open() öffnet eine Datei. Dateien, die wir als Menschen lesen können, werden im
Textmodus geöffnet. Die Zeichencodierung der Datei muss bekannt sein.
Dateien wie Bilder etc., werden im Binärmodus geöffnet. Die Funktion gibt ein Objekt <class 'File'> zurück. Die Variable
datei verweist auf die geöffnete Datei.
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 85
1. Parameter der Funktion
Der erste Parameter gibt darüber Auskunft, welche Datei geöffnet werden soll.
In diesem Beispiel wird eine Datei im Textmodus geöffnet. Die Datei hat keine Endung und das Dateiformat kann nicht spezifiziert werden.
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 86
Hinweise zu Pfadangaben
Falls kein Pfad zu der Datei angegeben ist, wird die Datei am Speicherort des Python-Codes gesucht.
Pfade können absolut von der Wurzel bis zum Speicherort der zu öffnenden Datei angegeben werden.
Pfade können relativ zum Speicherort der Code-Datei angegeben werden.
Programmiersprache Python Seite 87
Beispiele für relative Pfadangaben
Ordner „Code“
code.py
datei.csv
Open('../datei', 'w')
Ordner „dateien“
datei.csv
open('dateien/datei.csv', 'w')
Ordner „Wurzel“ datei
Programmiersprache Python Seite 88
2. Parameter
Der zweite Parameter legt fest, wie die Daten in der Datei verarbeitet werden sollen.
Der Dateimodus wird mit Hilfe eines Strings festgelegt. In diesem Beispiel wird die Datei zum Schreiben geöffnet. Weitere Informationen: https://docs.python.org/3.7/tutorial/
inputoutput.html#reading-and-writing-files
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 89
Datei-Modus einer Textdatei
In diesem Beispiel wird eine Datei ohne Endung zum Schreiben ('w') geöffnet. Falls die Datei nicht vorhanden ist, wird eine neue Datei angelegt.
Der Modus 'r' liest eine Datei. Am Ende einer Datei kann Inhalt angehängt werden ('a'). Dateien können für Änderungen geöffnet werden ('+'). Die
Datei ist zum Lesen und Schreiben geöffnet.
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 90
Schließen einer Datei
Die Methode .close() schließt ein Objekt „File“. Die Datei, auf die die Variable datei verweist, wird
geschlossen.
datei.close()
Programmiersprache Python Seite 91
Öffnen und schließen einer Datei
Die Funktion open() öffnet eine Datei. In diesem Beispiel wird die Datei zum Lesen geöffnet. Die Funktion gibt ein Objekt <class 'File'> zurück. Für den Verweis wird ein Alias erzeugt.
Der Befehl as definiert einen Alias-Namen für den Verweis auf ein Objekt. In diesem Beispiel ist datei ein Alias für ein Objekt <class 'File'>.
Sobald der dazugehörige Codeblock abgearbeitet ist, wird das File-Objekt automatisiert geschlossen.
with open('arbeitsdatei', 'r') as datei: strZeichen = datei.read()
Programmiersprache Python Seite 92
Schreiben in eine Datei
Die Methode .write() schreibt einen String in das Objekt datei. Nach dem Schreiben eines Strings wird nicht automatisch
eine neue Zeile eingegeben. Mit Hilfe von .write('\n') kann eine neue Zeile zwischen den
Strings eingefügt werden.
datei.write(strTemperatur)
Programmiersprache Python Seite 93
Lesen in eine Datei
Die Methode .read() liest den Inhalt des File-Objekts datei vollständig ein.
Der Inhalt der Datei wird in der Variablen strInhalt gespeichert.
strInhalt = datei.read()
Programmiersprache Python Seite 94
Lesen von x Zeichen
Der Methode .read() kann als Argument die Anzahl der zu lesenden Zeichen übergeben werden.
In diesem Beispiel werden 3 Zeichen gelesen.
strInhalt = datei.read(3)