title: Does python `str()` function call `__str__()` function of a class?
body: <p>If I define a class with its own <code>__str__()</code> function, is <code>str(a)</code> equivalent to <code>a.__str__()</code>, where <code>a</code> is an instance of my class?</p>
  
  <p>I checked the <a href="https://docs.python.org/2/library/functions.html#str" rel="noreferrer">python doc</a>, it doesn't say explicitly that this is the case.</p>