Think Python by Allen B. Downey was recommended to me as a great resource for those new to programming who want to learn programming in Python.
It’s available as a physical or ebook but also on the web as a collection of Jupyter Notebooks which is a very interesting approach. I love that you can run the code snippets as you learn.