Ik begrijp niet wat %s
en %d
doen en hoe ze werken.
Ze worden gebruikt voor het formatteren van strings. %s
fungeert als plaatshouder voor een string terwijl %d
fungeert als plaatshouder voor een getal. De bijbehorende waarden worden doorgegeven via een tupel met behulp van de %
operator.
name = 'marcog'
number = 42
print '%s %d' % (name, number)
zal marcog 42
afdrukken. Merk op dat de naam een tekenreeks is (%s) en het getal een geheel getal (%d voor decimaal).
Zie https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting voor details.
In Python 3 zou het voorbeeld zijn:
print('%s %d' % (name, number))
%s
wordt gebruikt als een plaatshouder voor string-waarden die je wilt injecteren in een opgemaakte string.
%d
wordt gebruikt als een plaatshouder voor numerieke of decimale waarden.
Bijvoorbeeld (voor python 3)
print ('%s is %d years old' % ('Joe', 42))
Zou uitvoer
Joe is 42 years old
Het zijn format specifiers. Ze worden gebruikt wanneer je de waarde van je Python expressies wilt opnemen in strings, met een specifiek formaat afgedwongen.
Zie Duik in Python voor een relatief gedetailleerde introductie.