recall function definition from shell

superpollo utente at esempio.net
Tue May 18 15:13:50 EDT 2010


Peter Otten ha scritto:
> superpollo wrote:
> 
>> Patrick Maupin ha scritto:
>>> On May 18, 1:41 pm, superpollo <ute... at esempio.net> wrote:
>>>> Patrick Maupin ha scritto:
>>>>
>>>>
>>>>
>>>>> On May 18, 12:31 pm, superpollo <ute... at esempio.net> wrote:
>>>>>>  >>> def myfun():
>>>>>> ...     return "WOW"
>>>>>> ...
>>>>>>  >>> myfun()
>>>>>> 'WOW'
>>>>>> now, i would like to "list" the funcion definition, something like
>>>>>> this:
>>>>>>  >>> myfun.somethinglikethis()
>>>>>> def myfun():
>>>>>>      return "WOW"
>>>>>> is there something like this around?
>>>>>> bye
>>>>> Sure, just give it a docstring and then you can call help on it:
>>>>>>>> def myfun():
>>>>> ...     ''' myfun returns "WOW" when called.
>>>>> ...         This is just a Python __doc__ string
>>>>> ...     '''
>>>>> ...     return "WOW"
>>>>> ...
>>>>>>>> help(myfun)
>>>>> Regards,
>>>>> Pat
>>>> mmm... thanks but not quite what i meant :-(
>>>>
>>>> bye
>>> Well, I don't think Python remembers exactly how you typed it in
>> yes python does not, but maybe the *shell* does, or so i thought. i just
>> wanted to dump the code for the function in a file, after i tested in
>> the shell...
> 
> You could try ipython:
> 
> $ ipython
> Python 2.6.4 (r264:75706, Dec  7 2009, 18:43:55)
> Type "copyright", "credits" or "license" for more information.
> 
> IPython 0.10 -- An enhanced Interactive Python.
> ?         -> Introduction and overview of IPython's features.
> %quickref -> Quick reference.
> help      -> Python's own help system.
> object?   -> Details about 'object'. ?object also works, ?? prints more.
> 
> In [1]: def f():
>    ...:     return 42
>    ...:
> 
> In [2]: f()
> Out[2]: 42
> 
> In [3]: %save tmp.py 1
> The following commands were written to file `tmp.py`:
> def f():
>     return 42
> 
> 
> In [4]:
> Do you really want to exit ([y]/n)?
> $ cat tmp.py
> def f():
>     return 42
> $
> 
> Peter

<RUNS TO APT-GET>

hey great! thanks a lot!

best regards




More information about the Python-list mailing list