Finding the name of a function while defining it
Abhas Bhattacharya
abhasbhattacharya2 at gmail.com
Thu Dec 27 02:55:48 EST 2012
On Thursday, 27 December 2012 13:22:45 UTC+5:30, Chris Angelico wrote:
> On Thu, Dec 27, 2012 at 6:46 PM, Abhas Bhattacharya
>> <abhasbhattacharya2 at gmail.com> wrote:
>> > [ a whole lot of double-spaced quoted text - please trim it ]
>> > If i call one() and two() respectively, i would like to see "one" and "two".
>>>> That completely goes against your idea of knowing at compile-time,
>> because the name "two" isn't anywhere around at that time.
>>>> There's no way to know what name was used to look something up. It
>> might not even have a name - the called function could well have been
>> returned from another function:
>>>> # foo.py
>> def indirection():
>> return lambda: print
>>>> # bar.py
>> import foo
>> foo.indirection()()("Hello, world!")
>>>> What are the names of all the functions called here?
>>>> ChrisA
Yes, I get it that it may not be possible in complex cases (mostly using lambda functions). But in the simple case I mentioned, is it possible?
More information about the Python-list
mailing list