[Tutor] There's a Programmer in Me

Albert-Jan Roskam fomcl at yahoo.com
Wed Feb 27 10:10:07 CET 2013



> On Tue, Feb 26, 2013 at 4:00 PM, Albert-Jan Roskam <fomcl at yahoo.com> 
> wrote:
>> 
>> What I like about R: if I do 'print(func)' (or fix(func)), it 
> prints the
>> source code of the function. It would be cool if Python had something
>> similar. Instead Python prints the not-so-informative
>> <function func at 0xa82fae4>
> 
> You can use inspect.getsource(obj) if obj is a module, class, method,
> function, traceback, frame, or code that has a source file (e.g.
> __file__, co_filename) and is defined normally (e.g. class, def):
> 
>     >>> import inspect
>     >>> def printsrc(obj): print inspect.getsource(obj)
> 
>     >>> import antigravity
>     >>> printsrc(antigravity)
> 
>     import webbrowser
> 
>     webbrowser.open(http://xkcd.com/353/)

Ahh, thank you! I like the %psource magic word, but until I get IPython installed in the office I'll use inspect.getsource. 
import inspect, soul
print inspect.getsource(soul.getsoul)
import webbrowser
webbrowser.open(http://xkcd.com/413/)  ;-))



More information about the Tutor mailing list