On Fri, 01 Aug 2008 22:47:04 -0400, Mel <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] wrote: > >> I'm writing Python as if it were strongly typed, never recycling a >> name to hold a type other than the original type. >> >> Is this good software engineering practice, or am I missing something >> Pythonic? > > Nothing wrong with what you're doing. I've never come up with a really > convincing reason to recycle names. Possibly something that follows the > evolution of the data: > > middle_name = raw_input ('Name?') > middle_name = middle_name.split() > middle_name = middle_name[1] > > It works, but I don't like it enough to actually use it.
I don't like that there are two lines where 'middle_name' isn't actually a middle name. It confuses me, even though I know that everything is ok after the third line. I reuse names though, mostly because I don't want to invent additional names which would feel "overburdened". I like this example better: months = range(1, 13) # do something with the months-as-numbers list, # and then: months = [ monthname(x) for x in months ] # do something where we only need the names Your comment "something that follows the evolution of the data" applies here. It's the same data, but refined to a more usable form. It also kills off an object which I have decided I will not need further down, so it kind of documents that decision. I only do this very locally, like in a simple function. /Jorgen -- // Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu \X/ snipabacken.se> R'lyeh wgah'nagl fhtagn! -- http://mail.python.org/mailman/listinfo/python-list