
How to Think Like a Computer Scientist - JAVA Version 4.1. (2008 Edition) * Published under the terms of the GNU Free Documentation License. Money raised from the sale of this book supports the development of free software and documentation.
Many places on the web. Runestone is probably the most useful like but I’ll leave my favorite classic one below.
https://nostarch.com/python-kids-2nd-edition
I've heard really great things about this book.
////
The other one is "How to Think Like a Computer Scientist, Learn Python 3"
https://openbookproject.net/thinkcs/python/english3e/"
which is used by Art of Problem Solving for their "Introduction to Programming with Python" class (https://artofproblemsolving.com/school/course/python1)
Another nontraditional intro to computing worth mentioning is "Structure and Interpretation of Computer Programs" by Abelson and Sussman(s). It teaches programming concepts using the Lisp/Scheme language (seldom used any more), but does so brilliantly.
"Think Python: How to Think Like a Computer Scientist" by Downey might provide the right mix of computing concepts and programming practice.
If you do want a traditional intro to CS theory, two books that cover that topic well are: "Introduction to the Theory of Computation" by Sipser, and "Introduction to Automata Theory, Languages, and Computation" by Hopcroft, Motwani, and Ullman.
Three very good books that introduce algorithms are: "Introduction to Algorithms: A Creative Approach" by Manber, "The Algorithm Design Manual" by Skiena, and "Algorithms" by Sedgewick and Wayne.
Remember that CS theory doesn't age, so buying a used early edition of a textbook should serve your needs just as well as an new up-to-date edition.
Besides the official documentation perhaps have a look at these resources:
Also check out the various community resources. The #python channel on Freenode is good. On Reddit there is https://www.reddit.com/r/learnpython/
http://openbookproject.net/thinkcs/python/english3e/
Good luck with your learning.