while this is technically trueyou really are only saving few bytes modern computers have memory of several billion bytes so the savings aren' that great meanwhilereusing variables reduces the code readability if programmer was reading through this code after it was writtenthey would see that wormsegmentrect is passed to the pygame draw rect(calls on line and if they tried to find the first time the wormsegmentrect variable was assigned valuethey would see the pygame rect(call on line they might not realize that the rect object returned by line ' pygame rect(call isn' the same as the one that is passed to the pygame draw rect(call on line little things like this make it harder to understand how exactly your program works it won' just be other programmers looking at your code who will be confused when you look at your own code couple weeks after writing ityou may have hard time remembering how exactly it works code readability is much more important than saving few bytes of memory here and there for additional programming practiceyou can download buggy versions of wormy from email questions to the authoral@inventwithpython com