On 04/28/2010 01:50 PM, Emile van Sebille wrote:
On 4/28/2010 11:44 AM Richard Lamboj said...
is there any way to get the name from the actual called function, so that the
function knows its own name?
>>> def test():pass
...
>>> dir(test)
['__call__', '__class__', '__closure__', '__code__', '__defaults__',
'__delattr_
_', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__',
'__globa
ls__', '__hash__', '__init__', '__module__', '__name__', '__new__',
'__reduce__'
, '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
'__subcla
sshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict',
'func_doc'
, 'func_globals', 'func_name']
>>> test.func_name
'test'
Just be aware of the oddities that go along with asking for this...
>>> def foo(): pass
...
>>> bar = foo
>>> bar.func_name
'foo'
>>> (lambda x: x).func_name
'<lambda>'
-tkc
--
http://mail.python.org/mailman/listinfo/python-list