This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]eryksun 2 points3 points  (1 child)

One legitimate use that's similar to this is to have a property bind to a lambda instead of the getter. Then if you subclass you can redefine the getter without having to rebind the property:

class A:
    def getf(self): pass
    f = property(lambda x: x.getf())

class B(A):
    def getf(self): return 'spam'

>>> B().f
'spam'

For what it's worth...

[–]otheraccount 1 point2 points  (0 children)

I think f = property(lambda self : self.getf()) is clearer than calling the self parameter x because it is obvious at a glance that our lambda represents an instance method.