I taught myself, starting with Python. Did a lot of web tutorials and stuff, but to be honest, if you don't have a comp sci background, there's no substitute for a good book. I learned 10 times as much from Learning Python by Mark Lutz as I did from all the web guides combined. Understanding fundamental concepts is more important than memorizing a bunch of syntax.