O'ReillyのPythonを学ぶ強力なオブジェクト指向プログラミングMark Lutzは、文字列を書式設定するさまざまな方法を教えています。文字列のフォーマット混乱
次のコードは私を混乱させるものです。私は 'ham'と解釈して、フォーマット・プレース・マーカをインデックス0で埋めていますが、まだ出力された文字列のインデックス1でポップアップします。実際に何が起こっているのか理解してください。ここで
はコードです:
template = '{motto}, {0} and {food}'
template.format('ham', motto='spam', food='eggs')
そして、ここでは、出力されます。
'spam, ham and eggs'
私は予想:
'ham, spam and eggs'
あなたはちょっと混乱していると思います。あなたがしたことは正しいです。 'ham'は '{0}'を置き換えるインデックスゼロです。したがって、{モット}、{0}と{食べ物} ' - ' {モットー}、ハムと{食べ物} '。 – kojiro
"私は 'ham'をフォーマット・プレース・マーカにインデックス0で入力していると解釈しています。" - いいえ、プレースホルダには0が入っています。 – user2357112
[pyformat.info](https://pyformat.info)を見てください。 –