私は、%s
と%d
が何をしているのか、どのように機能しているのかを理解していません。
これらは文字列のフォーマットに使用されます。sは文字列のプレースホルダーとして、
%dは数値のプレースホルダーとして機能します。これらの関連する値は、
%` 演算子を使ったタプルで渡されます。
name = 'marcog'
number = 42
print '%s %d' % (name, number)
と入力すると、marcog 42
と表示されます。nameは文字列(%s)、numberは整数(10進数の場合は%d)であることに注意してください。
詳しくは https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting をご覧ください。
Python 3では次のような例になります。
print('%s %d' % (name, number))
これらはフォーマット指定子です。これらは、Pythonの式の値を、特定のフォーマットで強制的に文字列に含めたい場合に使用します。
比較的詳しい紹介はDive into Pythonを参照してください。