title: Is there a reason the SQLAlchemy ORM tutorial puts angle brackets around its __repr__ values?
body: <p>The SQLAlchemy ORM tutorial uses this class:</p>
  
  <pre><code>&gt;&gt;&gt; from sqlalchemy import Column, Integer, String
  &gt;&gt;&gt; class User(Base):
  ...     __tablename__ = 'users'
  ...
  ...     id = Column(Integer, primary_key=True)
  ...     name = Column(String)
  ...     fullname = Column(String)
  ...     password = Column(String)
  ...
  ...     def __init__(self, name, fullname, password):
  ...         self.name = name
  ...         self.fullname = fullname
  ...         self.password = password
  ...
  ...     def __repr__(self):
  ...        return "&lt;User('%s','%s', '%s')&gt;" % (self.name, self.fullname, self.password)
  </code></pre>
  
  <p>Why would you go to all the trouble of having a string that will work nicely when <code>eval()</code>'d, only to break that functionality but surrounding it with angle brackets?</p>
  
  <p>I realise that the <code>eval(repr(foo))</code> idiom is far from the only purpose of <code>__repr__</code>, but it it still seems odd how it seems to deliberately be disabled here. Is there some greater logic to this that I'm missing, or is it just some arbitrary decision?</p>