Just a disclaimer, but I have had only minor (read: a little) programming knowledge (e.g., SPSS syntax, a bit of C++, a bit of HTML, and just a brush everything in between) before starting to learn python.
Python is becoming famous again due to increasing interests in Artificial Intelligence/Machine Learning. In addition, hobbyists using the homebrewed Raspberry Pi have also turned to Python programming.
My curriculum in self-learning Python starts with Python3 base program (https://www.python.org/) and a GUI (i.e., graphical user interface) called PsyCharms (https://www.jetbrains.com/pycharm/), which is a step-up from a text editor with colors and fancy stuff. You can use any other GUI + Python3 to start.
Three things to master in succession before dipping into machine learning and neural nets: (1) basics of python, (2) NumPY (https://numpy.org/) for arrays and matrices, and (3) Pandas (https://pandas.pydata.org/) for data manipulation and analysis.
First, watch YouTube videos like freeCodeCamp’s introduction into Python:
You can pick any other tutorial but at least master the basics before moving on to the harder stuff in #2 (NumPy) and #3 Pandas.
Finally, when all of that is completed. The last step I will be taking is learning Machine Learning in Coursera (https://www.coursera.org/learn/machine-learning) by Andrew Ng of Stanford.
It’s going to be one interesting journey.