a little help
Lie Ryan
lie.1296 at gmail.com
Thu Jan 5 14:53:34 EST 2012
On 01/06/2012 03:04 AM, Andres Soto wrote:
> Please, see my comments between your lines. Thank you very much for
> your explanation!
> *
> *
> *From:* Lie Ryan <lie.1296 at gmail.com>
> *To:* python-list at python.org
> *Sent:* Thursday, January 5, 2012 2:30 AM
> *Subject:* Re: a little help
>
> On 01/05/2012 11:29 AM, Andres Soto wrote:
> > my mistake is because I have no problem to do that using Prolog which
> > use an interpreter as Python. I thought that the variables in the
> main
> > global memory space (associated with the command line
> environment) were
> > kept, although the code that use it could change.
> > As you explain me, Python behave like a compiled language: any time I
> > make a change in the code, I have to "compile" it again, and
> re-run (and
> > re-load the data). There is nothing to do.
>
> it is usually trivial to redefine state-free functions, you just
> need to copy and paste the new code into the shell.
>
> &&&yes, I am already using that, but I thought that maybe there were
> a more elegant way. In Prolog, you just have to reload the code and
> nothing happens with the global variables
Alternative to copy pasting is to reload the module; but that comes with
the caution that the old function/class definition may still be lying
around in the global namespace if you imported them into your global
namespace, so you had to either restrict yourself to using
class/function using the module namespace or you had to remember to
reimport them into your global namespace. You also need to be careful if
you passes a module function as callbacks, as the callback will not be
automatically replaced with the new definition.
More information about the Python-list
mailing list