 <p>As to why, look at the case of <code>36 + 'abc'</code> Should this convert <code>36</code> to a string and concatenate the strings, or should it convert <code>abc</code> to a numeric value and add the numbers? There's no right answer, and so Python doesn't guess unless it has specific rules about those two types.</p>