If you want to learn Python, learn it first.
My first language was Groovy, which is built on Java, and it was a lot easier to do a lot of things than it is to do them in Java. What I mean by this is, there are several convenience functions built in to Groovy that just make using it significantly easier. Python possesses a lot of similar functions (more, I believe), and it will be a lot easier to get used to programming logic coding in Python over any of the other languages you've mentioned.
I would learn ASM after C, just because it is so low-level. You'll probably want to have a knowledge of things like pointers, etc, before you deal with ASM. So, in my opinion, I'd learn Python first, then Java, then C, then ASM.
With that said,
take it slow. I spent the better part of a year working with Groovy 8 hours a day (it was my job) to get used to programming in general. It takes a long time to master a programming language, especially your first one. Along the same vein, I'm currently getting to know Haskell, and have been for most of this current year. Learning new languages takes time, so four full languages is a large commitment (although, once you master your first one, you'll start to see similarities among them).
Python is a good starter language because it will allow you to do things without much fuss, and as such, I think it's a good basis for programming in general, and you'll get a lot out of learning it. It will also (likely) be more fun than learning Java (which can get kinda frustrating knowing the power of more modern languages like Python).
In any case, good luck with your studies!
