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:
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