You might find Andrew Ng’s Stanford Coursera course a good place to start. https://www.coursera.org/learn/machine-learning/home/info.
“Introdocution to Statistical Learning” by Trevor Hastie et al.  They have a free online class through Stanford  Sign in to their system and you can take the archived version for free.
ISL is an excellent, free book, introducing you to ML, you can go deeper, but, to me this is where I wish I’d started. I am taking the Data Science track at Coursera (on Practical Machine Learning now) and I am kicking myself that I didn’t start with ISL instead.
Now, I know you specifically asked about Python, but the concepts are bigger than the implementation. All of these techniques are available in Python’s ML stack, scikit-learn, NumPy, pandas, etc. I don’t know of the equivalent of ISL for Python, but if you learn the concepts and you’re a programmer of any worth, you will be able to move from R to Python. Maybe take/read ISL, but do the labs in Python, that might be a fun way to go.
Lastly, to go along with ISL, “Elements of Statistical Learning” also by Hastie et al is available for free to dive deeper 
I created a github repo (https://github.com/apeeyush/machine-learning) to store and organize the codes I used in Kaggle contests (mainly knowledge contests). Recently, I have participated in some vision and CTR prediction contests as well but could not update them here since the code is still very hacky. Will really appreciate any contribution from the community.
Shameless plug: http://www.amazon.com/Mastering-Machine-Learning-With-scikit…
http://radimrehurek.com/data_science_python/ – Practical Data Science with spam detection example (Machine Learning, NLP, sklearn, Python).
I’ve been looking at this deep learning tutorial in Python:
Has the advantage of a Python framework (Theano) specifically for deep learning.