things I don't like about Python
You don’t declare variables in python, you just assign to them. This isn’t as bad as it looks, because you can’t assign as a side-effect, so you can fake declaration by initialising the vars you want. Referencing a variable that hasn’t been initialised is a run time error. This leads to the following annoyance:
for var in (1,2,3): pass # don't do anything print var # prints '3'
which makes sense, and:
for var in (): empty list! pass # this won't happen print var # throws run-time error