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
GARHHAAH