For absolute beginner in the programming I recommend How to think like a computer scientist book. There are two versions. The first is written in java and the other is written in python.
If you have a previous experience in software development and computer programming in other languages and you want to switch or try python, there are too many good resources. You can not say one of these resources is the best among the others.
Here is what's in my mind right now