Do pythons like sugar?
andy
andy at eastonwest.co.uk
Thu Jan 9 18:07:32 EST 2003
On Thursday 09 Jan 2003 6:15 pm, Andrew Dalke wrote:
> In other words "DO NOT USE IN REAL CODE - I WILL NOT BE
> HELD RESPONSIBLE IF YOU DEPLOY WITH THIS. FOR NOVELTY
> USE ONLY."
Oooh.
>
> >>> class Foo:
>
> ... eggs = 1
> ... def doit(self):
> ... self.spam = 5
> ... self.tomato = 3
> ... for x in dir(self): exec "%s = self.%s" % (x,x)
> ... for k, v in locals().items():
> ... print k, "==", v
> ... print
> ... print "the calculation yields", tomato ** spam
> ...
Ahhh.
> >>> Foo().doit()
>
> doit == <bound method Foo.doit of <__main__.Foo instance at 0x815a284>>
> tomato == 3
> __module__ == __main__
> spam == 5
> x == tomato
> self == <__main__.Foo instance at 0x815a284>
> eggs == 1
> __doc__ == None
>
> the calculation yields 243
I can see why one shouldn't use this... kind of 'implementation' and 'version'
specific!
Maybe a candidate for the next PEP... not?
Anyway, I sort of like the explicit self reference - makes things clearer in
the long run.
-andyj
More information about the Python-list
mailing list