Variable name has a typo, but code still works. Why?

Max Erickson maxerickson at gmail.com
Wed May 31 17:05:38 CEST 2006


"mateus" <mateus.justino at gmail.com> wrote:

> print "hello world"
> 
> I have a nested loop where the outer loop iterates over key value
> pairs of a dictionary and the inner loop iterates over a list
> each list of which is a mapped value from the dictionary
> 
>     def showReport(self):
>         for dev, sessions in self.logger.items():
>             for tree in session:
>                 self.addTestItem(self, tree)
> 
> What I don't understand is why this executes w/o any problems
> when "sessions" was spelled as plural (sessionS) while later
> being spelled in the singular (session).
> 
> Is there some type of name resolution of local variables where
> Python makes assumptions?
> 

Is self.logger.items() empty?

This does not raise a NameError even when 'explode' is not defined:

for x in []:
    explode


max




More information about the Python-list mailing list