I am a life-long learner. This means I always have some kind of learning project in the works. And I find learning python and other technologies through online video tutorials to be one of the best ways for me to learn new topics. Here are some of things things I try to do in order to make the learning stick.
First off, I have gotten books before and I find it very hard to stick with them and work through all their exercises. Now, If I'm going through that kind of training with a group of people, it makes it a little easier and keeps me motivated (kind of like being in a school classroom). But, otherwise, technical books have not been my best tools.
I have heard that there are different types of learners (visual, auditory, reading/writing, and kinesthetic) and that each type of learner responds to different methods of teaching. OK, OK, I have heard other theories about seven or eight types of learners and so on, but to keep this simple, we'll just go with these four.
Do the tutorial, don't just watch it
I've watched tutorials and then later, when I sit down and try to do some of the stuff I've seen, it's not there. I didn't really pick up the material.
So, the best way is to do the same steps that the instructor is doing. That means pausing the video and often replaying the same part multiple times.
Create a README file to go with the training. Even though I'm doing all the same steps as the teacher, it also helps to put together notes that capture the key points that I'm beginning to understand.
Develop a shadow application
A little harder than parroting a tutorial is to develop a similar but different application while going through a tutorial. Try to plan and add extra features to the application. This will get you really thinking about what is going on.
Learn the same topic from multiple sources
I may think I understand a topic, but when I go try to implement it, I'm scratching my head. Turns out I don't always grasp the concept from one tutorial. When that's the case, I find it sometime useful to pick similar tutorials from different teachers. That way I get explanations from varying view points.
Employ the four learning types to reinforce your topic
I've hear there are four types of learners (visual, auditory, read/write, and kinetic). Try to employ different learning styles to help the information sink in. Watch videos, read books, etc. For more information about learning types, check out AdvancementCourses.com.
My Flask play list
With all of that said, I have been teaching myself Flask. I have come up with a "play list" of Flask tutorials that have been helping me out. If I have learned anything about Flask, these are the guys that are responsible!
This is an older tutorial on RealPython.com featuring Michael Hermann. It is based off of python 2.7. For a challenge here, follow the tutorial using python 3. The companion code site for this tutorial is at Discover Flask.
This course by Michael Kennedy is a paid course, but contains almost 10 hours of instructional videos. This one makes my head spin a little. In addition to learning the tools, there is good focus on how to structure and refactor your applications.
Another paid course, this time by Anthony from PrettyPrinted.com. This one dives into building a dashboard and does some serious things with pulling data via SQLAlchemy.
This series of videos from Corey Shafer are excellent and give a broad introduction into all the things that Flask can do.