python:strings

Dies ist eine alte Version des Dokuments!


Strings

Ab Python 2.0 PEP 100 Strings 'a string' kann als Unicode angegeben werden u'unicode string' .

Formatierung im Stil von printf() aus C.

print('Ein String mit %(name)03s format' % (Tupel mit Werten))

Beinhaltet:

  1. '%' als Einleitung einer Formatangabe
  2. Optional: einen Bezeichner in runden Klammern '(name)'.
  3. Optional: Konvertierungsflags
  4. Optional: Minimum Feldbreite
  5. Optional: Präzision mit einem Punkt ('.') beginnend
  6. Optional: Längenmodifizierer
  7. Konvertierungstyp

Info

Auch wenn diese Art der Formatierung schon in die Jahre gekommen ist, so ist sie doch im Bezug zum Python Logger noch recht bedeutsam.

Mit

logger.info("Value {} is to high".format(i))

wird zwar ein Wert (hier i) in den String eingearbeitet, aber das jedes mal wenn ein solcher Log-Eintrag gemacht werden soll. Nun kann man beim Logger aber das Level des loggings wählen, sodaß der formatierte String nicht ausgegeben werden muss. Das gilt auch für die durchaus schnell formatierten f-Strings. Das ist vergeudete Zeit.

Mit dem alten Format

logger.info("Value %d is to high" % i)

wird der String und seine Parameter (Tuple) zwar an den Log-Aufruf übergeben, jedoch wird eine Formatierung des Ausgabestrings nicht durchgeführt, sollte das Level entsprechend gesetzt sein.

Formatierung mit str.format

print('Ein String {} mit Format'.format())

Sehr leistungsfähig.

Formatierung mit Template-Strings PEP 292

s = '$blah und $blub'
s.substitue(blah='Hinz', blub='Kunz')

Beschreibung

Ab Python 3.5.3, PEP 498 String Formatierung mit

f'A String {} with format'

Beschreibung

Exkurs Pfade

  • python/strings.1753805379.txt.gz
  • Zuletzt geändert: 29.07.2025 16:09
  • von marsch