This is broken. >>> def f(): pass ... >>> f.func_name = 'g' >>> print f <function f at 0x000000000000002B> >>> f.__name__ 'f' -- Seo Sanghyeon