[Tutor] There's a Programmer in Me

eryksun eryksun at gmail.com
Wed Feb 27 01:49:21 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/")


More information about the Tutor mailing list