If I want to move to C++ and SDL in the future, is Python and pygame a good way to learn SDL?
I wouldn't consider Python (or any managed or interpreted language, for that matter) a good way to learn any complex task, because it insulates the programmer from the workings of the system too much. As a friend of mine put it, "Python loves you and wants you to be happy." And that's all well and good if you already know the fundamentals, but if you want to learn, the last thing you want is a language that does all the work for you.
You'll learn the what very quickly, but not the why, and then when something goes badly wrong, (and it will eventually, in any non-trivial project,) you'll be left with no idea what's happening or why.
Is Python and pygame a good way to learn SDL?