I’ve been playing with DataCamp‘s Python lessons and they are quite good. Python is taught in the context of data analysis rather than the turtle drawing of How to Think Like a Computer Scientist. They have a nice mix of video tutorials and then exercises where you get a tripartite screen (see above.) You have an explanation and instructions on the left, a short script to fill in on the upper-right and interactive python shell where you can try stuff below.
I’m working through it as a potential programming text for my upcoming Big Data and Text Analysis class. In the past I have used How to Think Like a Computer Scientist, which is well done, but not all the exercises are relevant. There is a book version of this last introduction with the title, Think Python.
Stéfan Sinclair, with some help from me, has created a nice set of materials on The Art of Literary Text Analysis. These are Jupyter notebooks and they walk students through setting up Jupyter notebooks to Topic Modelling. Other good python tutorials from the digital humanities can be found at the Programming Historian. The Programming Historian has a series of modular lessons that cover the basics and they have been reviewed.
The advantage of DataCamp is the interactive exercises though I imagine at a certain point it is better if students work in their own programming environment rather than the constrained one provided. I should add that DataCamp has a free DataCamp for the Classroom. If you sign up for this you can create a class and invite students to use the lessons. You can also track how they are completing the materials.