|
***** capitialize
Konvertiert den ersten Buchstaben in einen Großbuchstaben.
txt = 'hallo.'
print( txt.capitalize() ) Hallo.
txt = 'ällo.'
print( txt.capitalize() ) Ällo.
txt = 'áello.'
print( txt.capitalize() ) Áello
***** casefold
Konvertiert einen String in Kleinbuchstaben.
Diese Methode ist ähnlich der lower-Methode. Sie ersetzt aber mehr Buchstaben.
***** center(length, character)
Diese Methode zentriert einen Text auf die angegebene Länge und füllt die „Leerstellen“ mit Leerzeichen oder dem übergebenen Zeichen auf.
txt = 'python'
print( txt.center(20) ) python
print( txt.center(20,'!') ) !!!!!!!python!!!!!!!
***** count(string)
Gibt zurück, wir oft der Parameter im String vorkommt.
txt = 'python are my favoutite language.python forever'
print( txt.count('python') ) 2
print( txt.count('y') ) 3
***** encode
Diese Methode konvertiert den String in unterschiedliche Zeichenkodierungen:
Wichtige Kodierungen:
• ascii
• utf7
• utf8 (standard)
• utf16
• utf32
• ansi
• base64
• iso-8859-1 ISO standard for Western Europe and USA
• iso-8859-2 ISO standard for Central Europe (including Poland)
• cp1250 windows-1250 - Polish encoding on Windows
• cp1251 Russian encoding on Windows
• cp1252 Western European encoding on Windows
• windows_1250 bis windows_1258
• latin1 bis latin10
Beispiele:
• txt = 'My name is Ärmel, Hôrror, Térror and Ståle'
• print(txt.encode(encoding='ascii', errors= 'backslashreplace'))
• print(txt.encode(encoding='ascii', errors='ignore'))
• print(txt.encode(encoding='ascii', errors='namereplace'))
• print(txt.encode(encoding='ascii', errors='replace'))
• print(txt.encode(encoding='ascii', errors='xmlcharrefreplace'))
Ergebnis:
• b'My name is \xc4rmel, H\xf4rror, T\xe9rror and St\xe5le'
• b'My name is rmel, Hrror, Trror and Stle'
• b'My name is \N{LATIN CAPITAL LETTER A WITH DIAERESIS}rmel, H\N{LATIN SMALL LETTER O WITH CIRCUMFLEX}rror, T\N{LATIN SMALL LETTER E WITH ACUTE}rror and St\N{LATIN SMALL LETTER A WITH RING ABOVE}le'
• b'My name is ?rmel, H?rror, T?rror and St?le'
• b'My name is Ärmel, Hôrror, Térror and Ståle'
Das b als Prefix bedeutet, dass die String nunmehr als byte-Reihe gespeichert werden.
Alle Kodierungen siehe Seite 110 Kapitel 14.1.
siehe auch decode
***** endswith
Gibt True zurück, wenn der String mit dem Parameter endet. Diese Funktion wird häufig bei Dateioperationen benutzt. Man prüft, ob ein Pfad ein Slash oder Backslash am Ende hat.
txt = 'C:\Daten\'
print( txt.endswidth('\‘)
txt = 'C:/Daten/'
print( txt.endswidth('/‘)
***** expandtabs
Wenn in String Tabs enthalten sind, kann man diese durch Leerzeichen ersetzten.
Entspricht einem replace.
txt = 'H e l l o'
print( txt.expandtabs(5) ) H e l l o
print( txt.replace(' ',' ') ) H e l l o
Im obigen Beispiel erkennt man, dass die Funktion ein Leerzeichen zuwenig einfügt.
find
Sucht in einem String nach einem SubString und gibt die erste Position aus. -1 zeigt an, dass man den SubString nicht gefunden hat.
txt = 'Hello Python, where are you ? '
print ( txt.find('are') ) 20
txt = 'Hello Python, where are you ? ' - 1
print ( txt.find('your') )
Diese Methode ist identisch mit der Methode „index“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.
***** format
Mit dieser Methode kann man Zahlen formatiert ausgeben.
Integer:
• Formatspezifikation: %d
o %4d 4 Stellen, links mit Leerzeichen aufgefüllt
o %04d 4 Stellen, links mit Nullen aufgefüllt
Beispiel
• b=4
• print('12345678901234567890')
• print('Variable b1: ',b )
• print('Variable b2: %d' % (b) )
• print('Variable b3: %3d' % (b) )
• print('Variable b4: %03d' % (b) )
Ausgabe:
• 12345678901234567890
• Variable b1: 4
• Variable b2: 4
• Variable b3: 4
• Variable b4: 004
Floating-Numbers
• Formatstring: Width.Fraction
• Width: Gesamtanzahl der Ziffer für die Zahl (ohne Punkt)
• Fraction: Anzahl der Nachkommastellen
• Anzahl der Stellen:
o Minimal: Width-Fraction
o Maximal: Soviel wir notwendig
Beispiel:
• txt = 'Price { price: 7.2f} dollars!'
• print(txt.format(price = 49))
• print('12345678901234567890')
• print('')
• txt = 'Price { price: 7.2f} dollars!'
• print(txt.format(price = 1234567))
• print('12345678901234567890')
• print('')
• txt = 'Price { price: 7.0f} dollars!'
• print(txt.format(price = 49))
• print('12345678901234567890')^
• Alternative:
o a=123.456789
o print('Variable a: %.3f' % (a) )
Ausgabe:
• Price 49.00 dollars!
• 12345678901234567890
• Price 1234567.00 dollars!
• 12345678901234567890
• Price 49 dollars!
• 12345678901234567890
Format-String-Parameter
• :< Left aligns the result (within the available space)
• :> Right aligns the result (within the available space)
• :^ Center aligns the result (within the available space)
• := Places the sign to the left most position
• :+ Use a plus sign to indicate if the result is positive or negative
• :- Use a minus sign for negative values only
• : Use a space to insert an extra space before positive numbers (and a minus sign before negative numbers)
• :, Use a comma as a thousand separator
• :_ Use a underscore as a thousand separator
• :b Binary format
• :c Converts the value into the corresponding unicode character
• :d Decimal format
• :e Scientific format, with a lower case e
• :E Scientific format, with an upper case E
• :f Fix point number format
• :F Fix point number format, in uppercase format (show inf and nan as INF and NAN)
• :g General format
• :G General format (using a upper case E for scientific notations)
• :o Octal format
• :x Hex format, lower case
• :X Hex format, upper case
• :n Number format
• :% Percentage format
***** format_map
Die format_map Methode erstellt einen String in Zusammenarbeit mit einer Hashtable, Map, und einem String. In der map sind ein oder mehrere Werte mit einem „Index“ eingetragen. In den „Ausgabestring“ werden nun die key-Werte als Parameter eingetrane. Dann bekommt dieser String die Map übergeben.
Beispiel:
• hash = {'a': 1234, 'b': 3456, 'c':666}
• txt = 'Die 1. Zahl ist {a} , die 2. Zahl ist {b} und die 3. Zahl ist {c}'
• erg = txt.format_map(hash)
• print(erg)
Ausgabe:
• Die 1. Zahl ist 1234 , die 2. Zahl ist 3456 und die 3. Zahl ist 666
index
Sucht in einem String nach einem SubString und gibt die erste Position aus. Wenn der SubString nicht gefunden wurde, wird eine Exception ausgeworfen.
Beispiel:
• txt = 'Hello Python, where are you ? '
• print ( txt.index('are') ) 20
• txt = 'Hello Python, where are you ? '
• print ( txt.index('your') )
Ausgabe der zweiten Suche:
Traceback (most recent call last):
File 'D:\progs\Python\test.py', line 7, in
print ( txt.index('your') )
ValueError: substring not found
Diese Methode ist identisch mit der Methode „find“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.
***** isalnum
Gibt den Wert True zurück, wenn alle Zeichen Alphanumerisch sind [A-Za-züäöÜÄÖß0-9² ³ ½ ? ? ? ¼ ¾ ? ? ? ? ? ? ? ? ? ? ? ? ?].
***** isalpha
Gibt den Wert True zurück, wenn alle Zeichen Alphabetisch sind [A-Za-züäöÜÄÖß].
***** isdecimal
Gibt den Wert True zurück, wenn alle Zeichen Alphanumerisch sind [0-9.].
Das heisst, dass es eine gültige Integerzahl ist (ohne die Sonderzeichen ²³ etc.).
***** isdigit
Gibt den Wert True zurück, wenn alle Zeichen Numerisch sind [0-9²³].
Das heisst, dass es eine gültige Integerzahl ohne Vorzeichen ist .
ohne die Sonderzeichen ½ ? ? ? ¼ ¾ ? ? ? ? ? ? ? ? ? ? ? ? ?
1.1.16 isidentifier
Hier wird geprüft, ob ein String ein Name für ein Objekt sein kann.
Pattern: [_A-ZÜÄÖ?a-züäöß] [_A-ZÜÄÖ?a-züäöß0-9]{0,}
***** islower
Hier wird geprüft, ob alle Zeichen des Strings kleinbuchstaben sind.
isnumeric
Gibt den Wert True zurück, wenn alle Zeichen Numerisch sind [0-9].
Das heisst, dass es eine gültige Integerzahl ohne Vorzeichen ist .
MIT den Sonderzeichen ½ ? ? ? ¼ ¾ ? ? ? ? ? ? ? ? ? ? ? ? ?
***** isprintable
Gibt den Wert True zurück, wenn alle Zeichen zu drucken sind.
Zeichen die nicht „druckbar“ sind:
•
•
•
•
• vertical tab
• bell
• backspace
• form feed
Zeichen die „druckbar“ sind:
• \
• \.
• \‘
• \“
***** isspace
Gibt den Wert True zurück, wenn alle Zeichen zu „Whitespaces“ sind.
Whitespaces:
• space
•
•
•
•
***** istitle
Diese Methode testet, ob alle Wörter des Strings mit einem Großbuchstaben anfangen und danach nur noch aus Kleinbuchstaben bestehen. Kommata, Fragezeichen, Ausrufezeichen und Punkte werden ignoriert.
***** isupper
Diese Methode testet, ob alle Wörter des Strings aus Großbuchstaben bestehen. Kommata, Fragezeichen, Ausrufezeichen und Punkte werden ignoriert.
***** join
Die join-Methode verknüpft die Elemente einer Liste mit einem „SeparatorString“. Das ist sinnvoll bei CSV-Dateien.
liste = {'abc', 'def', 'xyz' }
txt = ' '.join(liste) abc def xyz
txt = '-!-'.join(liste) abc-!-def-!-xyz
***** ljust
Die Methode fügt linkseitig Zeichen an den Text. Also ein rechtbündiger Text. In C# heisst die Funktion lpad.
s = '12345'
txt = x.ljust(9) ____12345
txt = x.ljust(9,'!') !!!!12345
siehe auch rjust
***** lower
Die Methode ersetzt alle Großbuchstaben durch Kleinbuchstaben.
***** lstrip
Die se Methode löscht am Anfang des Textes die Whitespaces.
Whitespaces:
• space
•
•
•
•
Siehe auch strip, oder rstrip
***** maketrans
Diese Methode ersetzt einen String durch einen anderen String mit Hilfe einer Mapping-Table. Der zu ersetzende und der String der ersetzt werden soll, müssen die gleiche Länge haben. Mit einem Trick kann man das umgehen.
Normale Syntax (gleiche Länge):
• txt = 'Hello Python'
• table = txt.maketrans('P', 'S') P wird durch S ersetzt
• print(txt.translate(mytable)) Hello Sython
Erweiterte Syntax :
• txt = 'Hello Python a b c'
• hash = {'a': '1234', 'b': '3456', 'c':'666'}
• mytable = txt.maketrans(hash)
• print(txt.translate(mytable)) Hello Python 1234 3456 666
***** partition(searchtext)
Diese Methode teilt einen String in drei Teile und gibt diese als Liste zurück:
• Text vor dem ersten Suchstring
• Suchstring
• Text nach dem ersten Suchstring
Falls es keinen Treffer gab, gibt es nur einen Text.
Beispiel:
• txt = 'I like Python, you too?'
• print( txt.partition('Python') ) ('I like ', 'Python', ', you too?')
***** replace(old,new,count)
Diese Methode ersetzt Teilstring durch einen anderen Teilstrings. Optional kann man auch angeben, wie oft man Ersetzen soll.
Beispiel:
• txt = 'I like Python, you too?'
• print( txt.replace('Python', 'Java') ) I like Java, you too?
***** rfind
Sucht in einem String nach einem SubString und gibt die letzte Position aus. -1 zeigt an, dass man den SubString nicht gefunden hat.
txt = 'Hello Python, where are you ? '
print ( txt.find('are') ) 20
txt = 'Hello Python, where are you ? ' - 1
print ( txt.find('your') )
Diese Methode ist identisch mit der Methode „index“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.
***** rindex
Sucht in einem String nach einem SubString und gibt die letzte Position aus. Wenn der SubString nicht gefunden wurde, wird eine Exception ausgeworfen.
Beispiel:
• txt = 'Hello Python, where are you ? '
• print ( txt.index('are') ) 20
• txt = 'Hello Python, where are you ? '
• print ( txt.index('your') )
Ausgabe der zweiten Suche:
Traceback (most recent call last):
File 'D:\progs\Python est.py', line 7, in
print ( txt.index('your') )
ValueError: substring not found
Diese Methode ist identisch mit der Methode „find“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.
***** rjust
Die Methode fügt rechtsseitig Zeichen an den Text. Also ein linksbündiger Text. In C# heisst die Funktion rpad.
s = '12345'
txt = x.rjust(9) 12345____
txt = x.rjust(9,'!') 12345!!!!
siehe auch ljust
***** rpartition
Diese Methode teilt einen String in drei Teile und gibt diese als Liste zurück. Die Methode sucht aber vom Ende. Dies ist dann sinnvoll, wenn es mehrere Vorkommen des Suchstring gibt.
• Text vor dem letzten Suchstring
• Suchstring
• Text nach dem letzten Suchstring
Falls es keinen Treffer gab, gibt es nur einen Text.
Beispiel:
• txt = 'I like Python, you Python to0?'
• print( txt.rpartition('Python') ) (' I like Python, you ', 'Python', ',too?')
***** rsplit(separator, count)
Diese Methode zerlegt ein String in mehrere Teile und gibt diese als Liste zurück. Wenn man count nicht angibt, ist das Ergebnis identisch mit split. Wenn man die Anzahl angibt, so werden maximal count-Split durchgeführt.
txt ='abc;def;345;777'
liste = txt.rsplit(';',2) ['abc;def', '345', '777']
liste = txt.rsplit(';') ['abc', 'def', '345', '777']
1.1.35 rstrip
Diese Methode löscht am Ende des Textes die Whitespaces.
Whitespaces:
• space
•
•
•
•
Siehe auch strip, oder lstrip
***** split(separator, count)
Diese Methode zerlegt ein String in mehrere Teile und gibt diese als Liste zurück. Wenn man count nicht angibt, ist das Ergebnis identisch mit rsplit. Wenn man die Anzahl angibt, so werden maximal count-splits durchgeführt.
txt ='abc;def;345;777'
liste = txt.split(';',2) ['abc', 'def', '345;'777']
liste = txt.split(';') ['abc', 'def', '345', '777']
splitlines(keeplinebreaks)
Diese Methode splittet einen String bei den Zeilenumbrüchen. Der optionale Parameter „keeplinebreaks“ zeigt an, dass die Zeilenumbrüche beim Trennen erhalten bleiben.
Beispiel:
• txt = 'abc
def
1234
789'
• txt.splitlines() ['abc', 'def', '1234', '789' ]
• txt.splitlines(False) ['abc', 'def', '1234', '789' ]
• txt.splitlines(True) ['abc
', 'def
', '1234
', '789
' ]
***** startswith
Gibt True zurück, wenn der String mit dem Parameter anfängt. Diese Funktion wird häufig bei Dateioperationen benutzt. Man prüft, ob ein Pfad mit einem Laufwerk anfängt.
txt = 'C:\Daten\'
print( txt.startswidth('C:\‘)
***** strip
Diese Methode löscht am Anfang und am Ende des Textes die Whitespaces.
Whitespaces:
• space
•
•
•
•
Siehe auch lstrip, oder rstrip
***** substring
Ein Substring wird über die Indizes realisiert.
Parameter:
• :start
• :end
• :step
Beispiele:
• string[start:end] Get all characters from index start to end-1
• string[:end] Get all characters from the beginning of the string to end-1
• string[start:] Get all characters from index start to the end of the string
• string[0:5] Get the first 5 characters
• string[:5] Get the first 5 characters
• string[-1] Get the last character
• string[-5:] Get the last 5 characters
• string[0:-4] Get all characters, except the last 4 characters
• string[1:-4] Get all characters, except the last 4 and the first char.
***** swapcase
Diese Methode wechselt zwischen Groß- und Kleinbuchstaben
***** title
Diese Methode konvertiert alle Wörter als title konform. Das bedeutet:
• Anfang ein Großbuchstabe
• Dann nur Kleinbuchstaben
***** translate
Siehe maketrans
***** upper
Diese Methode ersetzt alle Kleinbuchstaben durch Großbuchstaben.
***** zfill(len)
Die Methode fügt am Anfang Nullen an einem Text. Sie arbeitet ähnlich dem ljust.
***** ord(char)
Diese Methode gibt den ASCII-Code eines Zeichens aus. Es darf nur ein Zeichen übergeben werden.
Wichtige Zeichen:
• 46 .
• 48 0
• 65 A
• 90 Z
• 91 [
• 92 \
• 93 ]
• 97 a
• 122 z
i = ord('a') 97
***** chr
Diese Methode gibt zu einem ASCII-Code das zugehörige Zeichen aus. Man unterscheidet da aber nach der Kodierungstabelle.
Wichtige Zeichen:
• 46 .
• 48 0
• 65 A
• 90 Z
• 91 [
• 92 \
• 93 ]
• 97 a
• 122 z
s = chr(97) a
|
|