Property setter and lambda question
Anthony Kong
anthony.hw.kong at gmail.com
Mon Jul 11 11:54:18 EDT 2011
Hi, all,
This question is in the same context of my two earlier questions. This
question was raised by some python beginners, and I would like to check with
the list to ensure I provide a correct answer.
Here is a code snippet I used to demonstrate the keyword *property*:
class A(object):
def __init__(self):
self.__not_here = 1
def __get_not_here(self):
return self.__not_here
def __set_not_here(self, v):
print "I am called"
self.__not_here = v
not_here = property(lambda self: self.__get_not_here(), lambda self, v:
self.__set_not_here(v))
# not_here = property(lambda self: self.__not_here, lambda self, v:
self.__not_here = v)
So the question: is it possible to use lambda expression at all for the
setter? (As in the last, commented-out line)
Python interpreter will throw an exception right there if I use the last
line ('SyntaxError: lambda cannot contain assignment'). I'd use pass a
setter method anyway.
What is your preferred solution?
--
Tony Kong
*blog:* www.ahwkong.com
/*--*/
Don’t EVER make the mistake that you can design something better than what
you get from ruthless massively parallel trial-and-error with a feedback
cycle. That’s giving your intelligence _much_ too much credit.
- Linus Torvalds
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20110712/4ddcf8cd/attachment.html>
More information about the Python-list
mailing list