この問題は、これらのフォーマットディレクティブがどのように機能するかを分析することでおそらく最もよく理解できます。基本的な考え方は%
、文字列内のそれぞれは、引数を後で文字列に提供する必要があることを意味します。
たとえば、これは機能します。
title = "i'm %s with %s" % ('programming', 'python')
と収量
"i'm programming with python"
の「s」%s
は、これが文字列のプレースホルダーであることを意味します。「d」は整数の場合、「f」は浮動小数点数などの場合です。指定できる追加のパラメーターもあります。これらのドキュメントを参照してください。
各プレースホルダーに十分なアイテムを提供しないと、not enough arguments for format string
メッセージが表示されます。
特定の例では、最初に2つのフォーマットディレクティブを含む文字列定数を作成します。次に、それを使用するときは、2つのアイテムを提供する必要があります。
言い換えると、
title = "i'm %s with %s"
title % ('programming', 'python')
になります
"i'm %s with %s" % ('programming', 'python')