for record in roll: x = box() x.createSomething(record) do something .... Can anyone tell me why python keeps return the original object x that was created in the FOR loop. I want to instantiate a new x object for each iteration of the FOR loop