My favourite Python misfeature is that `x += y` sometimes does the same thing as `x = x + y` and sometimes doesn't. This leads to minor WTFs like this:
>>> a = b = (1, 2) >>> a = b = (1, 2)
>>> a = a + (3, 4) >>> a += (3, 4)
>>> b >>> b
(1, 2) (1, 2)
>>> a = b = [1, 2] >>> a = b = [1, 2]
>>> a = a + [3, 4] >>> a += [3, 4]
>>> b >>> b
[1, 2] [1, 2, 3, 4]
And major ones like this:
>>> a = ([1, 2], ['one', 'two'])
>>> a[0] += [3, 4]
TypeError: 'tuple' object does not support item assignment
>>> a
([1, 2, 3, 4], ['one', 'two'])
The operation raises an exception even though it succeeds!