Terry Reedy wrote:
On 4/27/2010 7:36 PM, GZ wrote:
I want to store a reference to a function into a class property.
So I am expecting that:
class A:
fn = lambda x: x
fn = A.fn
fn(1)
Traceback (most recent call last):
File "<string>", line 1, in<string>
TypeError: unbound method<lambda>() must be called with A instance as
first argument (got int instance instead)
The problem is that A.fn is treated as a bounded method. I really want
A.fn to be a variable that stores a reference to a function. Is there
any way to achieve this?
Use 3.1, though you will have the same issue when calling it and same
fix that Chris gave.
Python 3.1.1 (r311:74483, Aug 17 2009, 17:02:12) [MSC v.1500 32 bit
(Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> class A:
fn = lambda x: x
>>> fn = A.fn
>>> fn(1)
1
--
http://mail.python.org/mailman/listinfo/python-list