Hi, all,<div><br></div><div>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.</div>

<div><br></div><div>Here is a code snippet I used to demonstrate the keyword <b>property</b>:</div><div><br></div><div><br><div><div><font class="Apple-style-span" face="'courier new', monospace">class A(object):</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">    def __init__(self):</font></div><div><font class="Apple-style-span" face="'courier new', monospace">        self.__not_here = 1</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">    def __get_not_here(self):</font></div><div><font class="Apple-style-span" face="'courier new', monospace">        return self.__not_here</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">    def __set_not_here(self, v):</font></div><div><font class="Apple-style-span" face="'courier new', monospace">        print "I am called"</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace">        self.__not_here = v</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">    not_here = property(lambda self: self.__get_not_here(), lambda self, v: self.__set_not_here(v))</font></div>

</div><div><meta charset="utf-8"><font class="Apple-style-span" face="'courier new', monospace">    # not_here = property(lambda self: self.__not_here, lambda self, v: self.__not_here = v)</font></div><div><br></div>

<div>So the question: is it possible to use lambda expression at all for the setter? (As in the last, commented-out line)</div><div><br></div><div>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.  </div>

<div><br></div><div>What is your preferred solution?<br clear="all"><br>-- <br><div><br></div><div>Tony Kong</div><div><b>blog:</b> <a href="http://www.ahwkong.com" target="_blank">www.ahwkong.com</a></div><div><br></div>

/*--*/<br>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.<br>

<br>- Linus Torvalds<br><br><br>
</div></div>