Finding the name of a function while defining it

Steven D'Aprano steve+comp.lang.python at pearwood.info
Thu Dec 27 05:58:49 EST 2012


On Wed, 26 Dec 2012 23:46:31 -0800, Abhas Bhattacharya wrote:

>> > two = lamba : "one"
>> > one = two
>> 
>> > Which one of these is the "name" of the function?
[...]
> If i call one() and two() respectively, i would like to see "one" and
> "two".

I'm afraid you're going to be disappointed. There is no possible way for 
one() and two() as shown above to report different names, because they 
are the same function object.

py> two = lambda : "one"
py> one = two
py> one is two
True
py> one, two
(<function <lambda> at 0xb7abd92c>, <function <lambda> at 0xb7abd92c>)



-- 
Steven



More information about the Python-list mailing list