title: The statement: var = property(lambda self: object())
body: <p>I'm addicted in reading libraries. I like the way their codes are structed and beautiful and most important: readable. I'm trying to learn by doing that. But, sometimes lines like this:</p>
  
  <pre><code>something = property(lambda self: object())
  </code></pre>
  
  <p>catch my eyes on!</p>
  
  <p>I was inside <code>_socket.py</code> and this class:</p>
  
  <pre><code>class error(Exception):
      """ Base class for I/O related errors. """
      def __init__(self, *args, **kwargs): # real signature unknown
          pass
  
      @staticmethod # known case of __new__
      def __new__(S, *more): # real signature unknown; restored from __doc__
          """ T.__new__(S, ...) -&gt; a new object with type S, a subtype of T """
          pass
  
      def __reduce__(self, *args, **kwargs): # real signature unknown
          pass
  
      def __str__(self): # real signature unknown; restored from __doc__
          """ x.__str__() &lt;==&gt; str(x) """
          pass
  
      characters_written = property(lambda self: object()) # default
      errno = property(lambda self: object()) # default
      filename = property(lambda self: object()) # default
      strerror = property(lambda self: object()) # default
  </code></pre>
  
  <p>The grant curiosity is over those 4 last lines containing <code>lambda</code> on them. The questions are: How that works? What are their meaning, their results? Can you show an example of that statement on a simple way?
  Thanks for now!</p>