The nice thing about good open source projects like Drupal is that the source IS open. This is one of the best ways to learn about how the software works.
You can buy and read one of the many books about Drupal, but since the Drupal source code is so well commented, you can learn a lot simply by reading the source code.
Also, since the code is of high quality, it's a great way to learn how to improve your own coding techniques.
Here's an annotated guide to some of what I see as some of the most important parts of the Drupal 7 code base.