... it's a wicked cool module, if you're ever inclined to dive into it on your own) Suffice it to say that copy can copy arbitrary Python objects, and that's how you're using it here The rest of the ... all the same keys and values, and strings are equal when they are the same length and contain the same sequence of characters For class instances, you can define the cmp method and code the comparison ... methods (like setitem ) and built-in attributes (like doc ) follow a standard naming convention: they both start with and end with two underscores Don't name your own methods and attributes this...