__str__ vs. __repr__
Phil Hunt
philh at vision25.demon.co.uk
Mon Nov 15 20:57:23 EST 1999
In article <m3n1shp2uu.fsf at atrus.jesus.cam.ac.uk>
mwh21 at cam.ac.uk "Michael Hudson" writes:
> philh at vision25.demon.co.uk (Phil Hunt) writes:
>
> > In article <01fd01bf2dce$d2c03cf0$f29b12c2 at secret.pythonware.com>
> > fredrik at pythonware.com "Fredrik Lundh" writes:
> > > 2) what's the reason byte code cannot be used to recover
> > > the original source code
> >
> > Perhaps because two different (but obviously functionally
> > identical and very similar) source codes could produce the same
> > byte code.
>
> I doubt it actually. Python's bytecode is really pretty high
> level. Leastaways, I can't think of any examples.
How about:
x = a + b + c
x = (a + b) + c
x=a+b+c
I'd guess these all produce the same bytecode.
I'd also not be surprised if you could consistently change the
name of a local variable within a function without changing bytecodes,
i.e. Python internally doesn't know the names of local variables.
> It's one of those things I might get round to writing one of these
> days. I don't really know how hard it would be. Not especially, I
> suspect.
You might want to have a look at how Java bytecode decompilers
work.
--
Phil Hunt - - - - - - - - - philh at vision25.demon.co.uk
Moore's Law: processor speed doubles every 18 months
Gates' Law: software speed halves every 18 months
More information about the Python-list
mailing list