On 24 Nov, 20:10, "Patrick Mullen" <[EMAIL PROTECTED]> wrote: > > Yes, that's no good. So you would write it like so: > > def meth(self,*args): > tmp = int(raw_input('Enter age:')) > using self: > age = tmp > > Still an unnecessary lookup on tmp though :)
Indeed. As has been mentioned, it's all about resolving names and how much of that work gets done at run-time (and whether the magic confuses the human reader further). > And it would be useless > to use it for one assignment, the idea is to eliminate all the typing > with this: > > self.var1 = 5 > self.var2 = "a value" > self.var3 = stuff > self.var4 = [2,54,7,7] > self.var5 = "dingaling" > self.var6 = 6.4 > self.var7 = 1 > self.var8 = False > self.var9 = True > > Of course that "self.var3 = stuff" under the using would result in a > bad lookup for "stuff", but the programmer who wanted to use this > would have to realize this and try to avoid it. I think the remedy is worse than the ailment, especially since the Pascal "with" construct can make use of declared information about structure attributes, while the absence of such declarations leaves more work to be done in Python (and more detective work for future maintainers of code). Of course, for cases like the above, assuming that one doesn't feel that lists or dictionaries are acceptable alternatives to large numbers of instance attributes (which might not have such regular naming), one might suggest a useful extension of the attribute access syntax. Taking part of the above example and rewriting... self.(var1, var2, var3, var4) = 5, "a value", stuff, [2,54,7,7] I'm sure Mr Schluehr can provide a working demonstration of this with very little effort. ;-) Paul P.S. There were some proposals for generalisations of the attribute access mechanisms using not completely different syntax, but I don't recall them addressing the issue of accessing multiple attributes at the same time, and the use of arbitrary expressions in place of the attribute name (where a tuple is used above) gave a distinct feeling of writing something similar to a combination of the worst aspects of some shell language with some of the nastier parts of microcomputer assembly language. Let us, therefore, not get too enthusiastic about such ideas! -- http://mail.python.org/mailman/listinfo/python-list