abc ('spam''spam''spam'this form is equivalent to (but easier to code thanthese three assignmentsc 'spamb multiple-target assignment and shared references keep in mind that there is just one object hereshared by all three variables (they all wind up pointing to the same object in memorythis behavior is fine for immutable types--for examplewhen initializing set of counters to zero (recall that variables must be assigned before they can be used in pythonso you must initialize counters to zero before you can start adding to them) ab ( herechanging only changes because numbers do not support in-place changes as long as the object assigned is immutableit' irrelevant if more than one name references it as usualthoughwe have to be more cautious when initializing variables to an empty mutable object such as list or dictionarya [ append( ab ([ ][ ]this timebecause and reference the same objectappending to it in place through will impact what we see through as well this is really just another example of the shared reference phenomenon we first met in to avoid the issueinitialize mutable objects in separate statements insteadso that each creates distinct empty object by running distinct literal expressiona [ [ append( ab ([][ ] and do not share the same object tuple assignment like the following has the same effect--by running two list expressionsit creates two distinct objectsab [][ and do not share the same object assignment statements