Lucas Kyriacou has posted a Jupyter notebook with a great introduction to Python.
From the readme file:
This course aims to introduce PhD students to the basics of the popular and powerful programming language called Python. After going through the basics, we will also see some applications such as OLS regression, extraction of information from textual data, data visualization and object-oriented programming. In an extended version of this course we will further discuss various applications such as bulk downloading macroeconomic data, VAR estimation and solving macroeconomic models.