On 13/05/2006 1:55 AM, vbgunz wrote: > I forgot to explain my reason for over shadowing the 'string' built-in > within my iterator. To me, it doesn't matter because the string > identifier is temporary within the function and dies when the function > dies. Also, I personally don't use the string function and prefer > ''.join('hi'), etc. Also, at least for me just starting out in Python, > I find 'string' to be as readable as possible :) > > what do you think about that? >
1. 'string' is not a function, it is a module. I'm glad you don't use the non-existent 'string function'. 2. >>> ''.join('hi') 'hi' You prefer to do that instead of what? Look at the docs on the .join() method carefully, and consider the following: >>> '-'.join('hello') 'h-e-l-l-o' >>> 3. Back to the shadowing thing: 'string' is admittedly not a good example to pull you up on, as that module is little used these days. However it is the thin end of the wedge, and your adding 'index' in round 2 just drove the wedge in a little further. Once you start using words like 'file' and 'list' as variable names, your code will be almost as *UN*readable as possible. It's not just the shadowing possibility, it's the confusion in the reader's mind between the usual/normal Python meaning of a word and the meaning that you have attached to it. As you are just starting out in Python, now is the time to acquire good habits. Cheers, John -- http://mail.python.org/mailman/listinfo/python-list