title: Python: Missing arguments in string formatting (lazy eval)
body: <p>i'm trying to do some "post"/"lazy" evaluation of arguments on my strings. Suppose i've this:</p>
  
  <pre><code>s = "SELECT * FROM {table_name} WHERE {condition}" 
  </code></pre>
  
  <p>I'd like to return the string with the <code>{table_name}</code> replaced, but not the <code>{condition}</code>, so, something like this:</p>
  
  <pre><code>s1 = s.format(table_name = "users")
  </code></pre>
  
  <p>So, I can build the hole string later, like:</p>
  
  <pre><code>final = s1.format(condition= "user.id = {id}".format(id=2))
  </code></pre>
  
  <p>The result should be, of course:</p>
  
  <pre><code>"SELECT * FROM users WHERE user.id = 2" 
  </code></pre>
  
  <p>I've found this previous answer, this is exactly what I need, but i'd like to use the <code>format</code> string function.</p>
  
  <p><a href="https://stackoverflow.com/questions/4928526/python-format-string">python, format string</a>
  Thank you for your help!</p>