title: What exactly is the `subs` argument of the `evalf` method of SymPy Expression for? Like `s.evalf(subs={...})`?
body: <p>I stumbled on this as it did not behave as I expected it to. What exactly is <code>s.evalf(subs={t: 0})</code> for?</p>
  
  <p>It seems to be neither a "shortcut" for <code>s.evalf().subs({t: 0})</code> nor for <code>s.evalf().subs({t: 0})</code> as</p>
  
  <pre><code>import sympy
  
  omega, t = sympy.symbols("omega, t")
  s = sympy.pi * sympy.cos(omega*t)
  
  # both result in 3.14159265358979
  print(s.evalf().subs({t: 0}))
  print(s.subs({t: 0}).evalf())
  # results in 3.14159265358979*cos(omega*t)
  print(s.evalf(subs={t: 0}))
  </code></pre>
  
  <p>results in</p>
  
  <pre><code>3.14159265358979
  3.14159265358979
  3.14159265358979*cos(omega*t)
  </code></pre>
  
  <p>Couldn't find good documentation on this. Maybe someone knows the answer? Otherwise I might have to take a look at the source code to find out more...</p>