Fredrik Lundh wrote: > > To belabor the obvious (existing Python allows obsfuction), I > > present: > > > > class eff: > > "eff" > > def __call__(self): > > print "eff", eff.__doc__ > > > > class bot: > > "bot" > > def __call__(self): > > print "bot", bot.__doc__ > > > > e = eff() > > b = bot() > > e() > > b() > > > > eff, bot = bot, eff > > e = eff() > > b = bot() > > e() > > b() > > > > There's nothing new here. Why does allowing the ability to > > obsfucate suddenly warrant a -1? > > since when did Python grow full lexical scoping? I know that's not Swedish, but I haven't the foggiest what you're getting at. Where did lexical scoping enter? > does anyone that has learned about the LGB rule expect > the above to work? You're the one who did "eff, bot = bot, eff". The only intent I can infer is obsfuction. The above works the same as yours, for whatever your definition of "work". > in contrast, my example used a name which appears to be > defined in the same scope as the other names introduced > on the same line of source code -- but isn't. > > def foo(x): > foo.x = x I guess I'm missing something. -------snip------------ def eff(): "eff" print "eff", eff.__doc__ def bot(): "bot" print "bot", bot.__doc__ eff() bot() eff, bot = bot, eff eff() bot() -----------end----------- I guess we're not talking about the same example. > here, "foo" doesn't refer to the same namespace as the > argument "x", but to instead whatever happens to be in > an entirely different namespace at the time the function > is executed. > > in other words, this feature cannot really be used to store > statics -- it only looks that way... Again, I'm mystified. After "eff, bot = bot, eff", I don't see why 'bot() == "eff bot"' is a wrong result. Put it another way: are you reporting a bug in 1.5.2? If it's a bug, why is my example not a bug? If it's not a bug, why would the existence of other attributes besides __doc__ be a problem? - Gordon
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4