How To Code Like Real Pythonista (Best Python Books)
If you’re aiming to acquire an essentially simple but at the same time productive programming language, there is no other option for you but Python. Mastering such a language will not only allow you to express your code in fewer lines (thanks to its pretty much dense semantics) but it will also make it look intelligible and easy-to-read. So, where to start? Obviously, there is a bunch of various books, guides and online courses available on the web, but there is no reason you should spend endless nights searching for the right thing, especially if you can simply access the Firebear blog just once. So take a look at our exclusive list of the most popular and comprehensive Python books that will definitely make you code like a real Pythonista.
Table of contents
- 1 Python for beginners
- 1.1 Python Crash Course by Eric Matthes
- 1.2 Python Programming: An Introduction to Computer Science by John M. Zelle
- 1.3 Learning Python (5th Edition) by Mark Lutz
- 1.4 Python: Complete Crash Course for Becoming an Expert in Python Programming by Nick Goddard
- 1.5 Introducing Python: Modern Computing in Simple Packages by Bill Lubanovic
- 1.6 Python Programming for Beginners by Jason Cannon
- 1.7 Learn Python Visually by Ibelin Demirov
- 2 Python for specific purposes
- 2.1 Automate the Boring Stuff with Python by Al Sweigart
- 2.2 Programming the Raspberry Pi, 2nd edition: Getting Started with Python by Simon Monk
- 2.3 Python Machine Learning by Sebastian Raschka
- 2.4 Violent Python: A Cookbook for Hackers , Forensic Analysts, Penetration Testers and Security Engineers by T.J. O’Connor
- 2.5 Web Scraping with Python: Collecting Data from the Modern Web
- 2.6 Doing Math with Python by Amit Saha
- 2.7 Python for Finance by Yves J. Hilpisch
- 2.8 Test-Driven Development with Python by Harry J.W. Percival
- 3 Python for proficient developers
Python for beginners
Python Crash Course by Eric Matthes
This book contains literally everything you need to know about Python and even more. It surely contains some theory as well, but only to let you see things from the right perspective. So when you finish the book, you’re likely to get a firm knowledge basis allowing you to easily grasp more advanced stuff.
Thus, the Python Crash Course book can be formally divided into two parts:
- Theoretical part showcasing the basic programming concepts that are essentially needed to get a better understanding of Python as a specific programming language.
- Practical part with straightforward and original tasks to make you feel at ease during the learning process.
Subsequently, you will master a set of relevant programming skills allowing you to:
- come to know the particulars of the most popular Python libraries and tools: matplotlib, NumPy, and Pygal;
- create basic 2D arcade games that can be played from keyboard or mouse and gradually getting more and more complex;
- seamlessly work with data and create stunning interactive visualizations;
- write and deploy basic web apps in no time;
- effectively review your work and resolve any types of bugs in your code.
If it still does not persuade you, you will probably be glad to know that the book has the most positive reviews on Amazon with both novices and amateurs finding it the best introduction to Python. According to some users, the book covers a set of diverse approaches to acquiring the language, starting from basic command lines and ending with full-fledged web applications, thus contributing to a full understanding of its semantics and syntax. What is more important, the whole material is said to be well explained and accessible even to non-technical people. And finally, this book is a perfect addon to your programming courses, as it allows you to grasp things you might have missed during the class.
So if you decide to purchase the Python Crash Course book, you can get it in paperback for just $27.16 or as a Kindle e-book – for $14.95.
Python Programming: An Introduction to Computer Science by John M. Zelle
This is a rather general book on programming which only uses Python as an example of implementing various coding practices. However, this one is still a useful learning material, especially if you are a college student specializing in computer science.
The main advantage of this book is the emphasis on a traditional approach to programming as seen from the perspective of a non-traditional programming language. By doing this, the author tries to prove that all languages, no matter how different they are, serve the same purposes and perform the same functions, and if so, why not practicing with the easiest of them?
In order to make the book equally accessible to programmers with different linguistic background, John M. Zelle intentionally avoided mentioning those Python elements that are absent in other programming languages, thus providing clear illustrations of the basic programming principles and techniques.
Among those that found the book extremely useful are both programming novices trying to grasp the basics and amateurs who want to refresh their knowledge on Python. The majority of readers highly praised the choice of the language for the book, as Python is considered to be one of the easiest languages to learn on one’s own.
Apart from that, this book is also fairly cheap: only $19.99 for paperback ($17.99 for a used copy).
Learning Python (5th Edition) by Mark Lutz
This is one of the most comprehensive books on Python that is being constantly updated with the newest and modified information. Using this book, you will learn to write basic as well as more advanced Python programs with both being highly efficient and intelligible. That is why we recommend it to all interested in programming regardless of their level of training.
Learning Python has a slow-pacing narrative manner which, nevertheless, allows the reader to get to the full understanding of the topic. Moreover, the book considers Python’s primary up-to-date versions – ver. 2.7 and 3.3 (as of 2013) – as two incompatible implementations, which must be taken into account when deciding on the technical aspect of the program. Apart from commonly known things, the book also covers a set of more advanced Python features that came to be frequently used for the last couple of years.
The Learning Python book is presented by theoretical descriptions, self-checking quizzes, bright examples, and, of course, practical exercises, thus providing all means for the reader to get up and running with their own Python projects. Specifically, it will allow you to:
- understand Python’s basic types, mainly numbers, lists, and dictionaries;
- create and handle Python objects by using corresponding language primitives, thus diving deeper into its general syntax model;
- apply functions to minimize code redundancy and supply code for reuse;
- use modules to create larger components out of various statement, functions, etc.;
- get to grips with classes that are, in fact, the main components of any object-oriented language;
- use exception-handling programming to build large-scale programs;
- learn advanced Python tools, such as including decorators, descriptors, metaclasses, and Unicode processing.
You can purchase this book on Amazon in paperback for $40.11 or as a Kindle e-book for $27.99.
Python: Complete Crash Course for Becoming an Expert in Python Programming by Nick Goddard
This is a rather new edition of the book dedicated to Python and its main features. The author claims it to be a must-have reading material for those willing to become experts in the language without any unnecessary headaches. Due to plain language and clear examples, this book can indeed become your shortest way towards better understanding of Python’s major programming principles supplied with a good deal of handy tips and problem-solving tasks.
The book covers an extensive set of topics to make you feel as confident in the language as possible, specifically:
- The history behind Python development;
- Detailed instructions on painless environment setup;
- Syntax description;
- Types of Python variables;
- Primary operators;
- Introduction to loops;
- The usage of strings and numbers;
- The usage of lists, tuples, and dictionary;
- The general usage of functions and modules;
- Descriptions of classes and objects;
- Troubleshooting to handling exceptions;
- …and more.
What makes the book essentially different from other Python materials is the author’s constant use of visual elements, such as graphs, tables, images, and formulas, which only adds up to its overall clarity and informative value. Many readers find it a perfect source for learning Python thanks to a well-organized and logical way of structuring material. As a result, Complete Crash Course is highly recommended for beginners willing to get to know Python little by little, with a great emphasis on practical language acquisition.
For now, the book is sold on Amazon for $12.18, but it’s worth noting that its Kindle version will only cost you $2.99.
Introducing Python: Modern Computing in Simple Packages by Bill Lubanovic
Another option worthy of the eye of Python beginners as well as those entering the world of programming for the first time. This one is basically a hands-on guide introducing the reader to the main features of Python 3 through a set of convenient code examples and tutorials. And, just like other books on Python, Introducing Python by Bill Lubanovic is also provided by useful check-up exercises that will help you keep track of every meaningful step of the Python learning process.
On completion of the book, you will gain enough proficiency in:
- major programming skills, including testing, debugging, code reuse, and other development practices;
- applying Python for different purposes, namely business optimization, scientific research and the arts;
- writing bulky programs using Python’s primary modules and libraries;
- Python’s basic data types and math & text operations;
- using Python data structures for effective data munging;
- Python’s major functions;
- object-oriented programming features, such as objects and classes;
- data storage opportunities for both single files and large databases;
- building various web applications, including clients, servers, APIs, and full-fledged services;
- managing different system tasks, namely threads, processes, and programs;
- the basics of network programming.
The book has a lot of positive reviews on its Amazon page, but some readers have found that it has an excessively fast pace to a person that has never dealt with programming before, which, at some point, would often lead to a poor understanding of the topic. Thus, this book would be a good choice only after you gain some basic programming skills first.
Currently, you can purchase a paperback copy of the book for $30.91 and its Kindle version – for just $17.99.
Python Programming for Beginners by Jason Cannon
This one is another useful Python book for those who only start their journey to the language and its specifics. With this book, programming will no more be a challenge for you, as here you don’t really need to have any specific background in order to become proficient in programming. Each chapter is a logical step towards mastering Python key concepts, tools, and practical techniques, with all of them described in plain and accessible language.
The book starts off with the most basic things possible, such as how to prepare your computer for Python installation and how to actually install it on your computer depending on the given OS. Furthermore, you’ll be shown different ways of running Python programs on Windows, Mac OS or Linux and specialized text editors and dev environments required for actually writing your code. Among theoretical aspects of Python, you will learn:
- Key data types, such as lists, strings, dictionaries, tuples, booleans, and others;
- Major Python variables and their roles;
- How to do mathematical stuff with Python;
- Various way of data flow control;
- How to structure Python programs;
- Modules, how to create one, and when to use them in general;
- Python functions and their peculiarities;
- File reading and writing;
- How binary files and text files differ;
- Python troubleshooting with and without Python documentation.
Some readers found it exceptionally easy to learn Python with this book, claiming that it took them just days (not weeks, like it usually happens) to get themselves up and running with basic programming skills. The book is said to be a perfect Python introductory course for both Python novices and programming novices in general.
Python Programming for Beginners in paperback is now $21.26, and its Kindle version – just $2.99.
Learn Python Visually by Ibelin Demirov
The author of this book has a series of other works bearing a similar title. That is because he presents a completely different approach towards teaching programming languages, allowing learners to acquire necessary programming skills faster than ever before. His approach is based primarily on visual learning which is considered as the most efficient way of acquiring any kind of knowledge. This learning method works through leveraging students’ logical thinking in combination with their creative imagination, thus allowing them to better memorize and comprehend the material.
But what makes this book a perfect visual learning source?
- Colorful images;
- Plain and logical graphs;
- Bright analogies;
- Minimum of textual explanations;
- Author’s friendly attitude towards his readers;
- Interactive exercises and quizzes.
All of it has a tremendous effect on the learner, which is why this book is so appreciated by programming novices that once used to constantly struggle with each and every technical aspect of any computer science material. With Learn Python Visually, learning programming will never be hard or boring but full of fun and motivation.
You can purchase this book on Amazon for $26.
By the way, there is another Python book by Ivelin Demirov – Learn Python 3.0 Visually – which concentrates specifically on the 3rd release of the language and illustrates its main features by using the same learning approach. This one will cost you $35, but you can always choose to buy an e-book version for just $9.49.
Python for specific purposes
Automate the Boring Stuff with Python by Al Sweigart
As the title clearly states, this book is a must for those who are struggling with routine tasks on a daily basis. This is a magic wand that will help you create highly productive codes to save you from monotonous work and reduce the time spent on manual editing to just a few minutes.
In this book, you will learn primarily how to use Python to write programs that will automate any type of manual editing process. Whether you are an ECommerce website owner or just a lazy manager, you will definitely find this practical book useful for your immediate needs. And, what’s more important, you don’t even need to have any prior knowledge of Python or programming in general to be able to do things right. Specifically, you will learn how to write programs to:
- search for important bits of text in a big file or across multiple files;
- edit, delete, or create files and folders in seconds;
- seamlessly surf the Internet and download various content;
- easily edit Excel spreadsheets of any size;
- perform various manipulations with PDF files: splitting, merging, encryption, watermarking, etc.
- perform mass actions, such as sending regular e-mail notifications to your website subscribers;
- fill out online applications and forms.
The book is built up in a theory-practice manner: each chapter ends with a set of practical tasks that the reader needs to do in order to reinforce the newly received knowledge.
What most people find appealing in this book is that it really helps them cope with daily boring tasks thus allowing them to spend their time at work more productively. As a result, any average user can significantly optimize his or her performance by simply applying a few advanced programming features to their routine.
As for the price, a paperback version of the book costs $25.45, while its Kindle version – $14.37.
Programming the Raspberry Pi, 2nd edition: Getting Started with Python by Simon Monk
This guide is written specifically for those who are interested in exploring possibilities of Raspberry Pi 2 by using Python as a means of interaction between you and this powerful machine. The main thing about this book is that you don’t need to be good either at Python or Raspberry and still be able to grasp enough information to create and successfully employ Python scripts thus making this small board your full-fledged personal hardware.
The new edition of Programming the Raspberry Pi includes updates on Raspberry Pi 2 and its operating system as well as lots of practical information on how to configure the hardware and write codes that would make it work right. As a result, you’re not only going to code, but you will also learn more about how hardware and software interact with each other based on your own practical experience. Moreover, the book allows for implementing a great number of projects, including basic games like Hangman, RGB LED controller, digital clock, and even your personal RasPiRobot.
The guide covers the following topics::
- How to set up and configure your Raspberry Pi;
- How to navigate through Raspbian and its file system;
- How to write Python-based scripts for your Raspberry Pi by using IDLE editor;
- How to work with classes, modules and methods;
- How to create user-friendly interface using Tkinter;
- How to develop games with Pygame;
- How to attach additional hardware the GPIO port;
- How to adapt your software to the web.
According to the book’s reviews on Amazon, it indeed attracts readers by its friendly and enthusiastic approach to explaining technical things. Despite having rather short chapters, it, on the other hand, provides clear and insightful examples that allow the reader to effortlessly understand the main point and successfully complete practical tasks.
And costing as much as $11.10, this handy guide really deserves your attention.
Python Machine Learning by Sebastian Raschka
According to the author of this book, there is no better way to master machine learning than by using Python’s rich toolset. The main reason for that is a number of high-end open-source libraries that allow for great possibilities in deep learning, data wrangling, and data visualization. They will help you create and optimize your machine learning algorithms through effective strategies and by using special statistical models designed for analyzing the variety of large datasets.
Machine learning is rapidly becoming more and more crucial for competitive functioning of today’s businesses and other organizations. There is a high need for understanding and processing big data in the most efficient way, which is why Python is a #1 programming language for creating advanced but also productive algorithms that would manage to cope with daily data analysis. Specifically, the book covers the most popular and powerful Python libraries for machine learning purposes, such as scikit-learn, Theano, and Keras, with useful tips and recommendations on how to use them for effective sentiment analysis or building stable neural networks.
Overall, this book is highly recommended for both beginners in the field and advanced programmers with a high level of expertise. What’s more important, the book will only cost you $24 if you purchase it on Amazon, so it’s totally worth it.
Violent Python: A Cookbook for Hackers , Forensic Analysts, Penetration Testers and Security Engineers by T.J. O’Connor
Before we proceed with the main peculiarities of this book, we’d like to mention that it’s mainly intended for:
- practicing hackers that would like to specifically explore security features available in Python;
- more or less experienced Pythonistas that are well aware of Python’s basic concepts and aiming to master some practical stuff on conducting large-scale network attacks or data-mining sessions.
So if you look for a more comprehensive source presenting Python primarily as a programming language, skip this one and check out other options.
As the name of the book clearly states, Violent Python presents practical implementation of offensive computing which is aimed for those who intend to become real black-hat hackers. So you will learn how to use Python for stinging various networks, mining data from various social media, explore forensic artifacts, and many more. On the other hand, you will also get an access to more legal business-related practices, such as analyzing incoming traffic on your ECommerce website.
Overall, the book’s reviews show that it is generally useful as an introduction to basic security concepts and how to use Python for implementing them in practice. For instance, it provides clear guidance on how to write and further modify vulnerability scanner, hash cracker, password cracker, and other useful hacking tools. Although being rather shallow and direct in explaining major secгrity techniques, this book is nevertheless useful to gain required practical experience in Python.
The paperback version of the book is available now on Amazon for $30.30, and its Kindle version – for $26.35.
Web Scraping with Python: Collecting Data from the Modern Web
This is a specialized Python book dedicated to the most effective ways of data-mining all over the web. With this book, you will learn how to use Python for creating data retrieving scripts and web APIs as a means to seamlessly analyze tons of web pages at once. And, because it discusses a number of more elaborate topics, the book is recommended for experienced Python programmers, security specialists, or web administrators.
Web Scraping with Python covers a wide variety of topics related to data extracting, starting from basic web scraping techniques and ending with more advanced practices, such as using scrapers for website frontend testing or analyzing raw data. Every newly introduced technique is provided by a separate code example to help the reader grasp the material more easily. Thus, you will able to:
- Effortlessly parse all types of HTML pages, including dynamic ones;
- Hack multiple web pages and site in bulk;
- Get acquainted to the concept of APIs and how they are built;
- Learn a few handy data storage methods;
- Discover how to effectively read, retrieve, and download data from all kinds of documents;
- Use various techniques and tools to delete roten data;
- Interpret natural languages;
- Use special crawling techniques to get through various forms and logins;
- Get the idea of how to scrape JavaScript;
- Understand the key concepts of text recognition and image processing.
The book is highly praised by lots of experts and programming enthusiasts due to a relatively plain language style and clear explanations. More importantly, it offers a more insightful information than an average video-tutorial – simply because the author uses all available educational approaches to make the acquisition of the material as natural as possible.
A paperback copy of the book will cost you $29.35, while its digital version – $15.87.
Doing Math with Python by Amit Saha
Have you ever thought of looking at usual mathematical formulas and concepts through the perspective of computer science? Experienced programmers are often on friendly terms with numbers, but if you are interested in math and would like to learn some topic-related programming stuff, this book is definitely a must-have solution. It starts off with basic principles about Python and how it can be used to implement various math-related tasks, gradually leading the reader to the point where practice gets more relevant than theory.
Throughout the book, you will try your hand at writing simple programs for performing basic calculations (like quadratic-equation solver) as well more elaborate projects often related to geometry or physics. And you will manage to complete all the tasks with ease thanks to using Python as a source for your programs, thus realizing how powerful a basic programming language can be. Thus, you will learn how to:
- Use Python to visualize numerical data by line graphs, bar/pie charts and scatter plots;
- Build game-like programs to check probability of various phenomena;
- Solve complex mathematical formulas and tasks using Python’s built-in toolset;
- Build geometrical objects and fractals with Python;
- Create scripts to find derivatives and integrate functions.
The main advantage of this book is that it highly supports creative thinking in the reader through offering original solutions to conventional mathematical practices. Math, in its turn, is a perfect way of learning programming, as it provides lots of opportunities for implementing dry numerical concepts by using a large set of computational features. And there is no better way of doing that but with Python.
The book is now available on Amazon for $18.08. You can also purchase an e-book version for $11.21.
Python for Finance by Yves J. Hilpisch
Finance is another huge sphere where Python already is and should continue to be applied due to lots of technological opportunities this language currently provides. And with a number of Python-based trading systems already being used in the financial industry, it becomes more and more relevant for both financial experts and developers to gain some experience in trending aspects of programming Python possesses. This book aims specifically to guide the reader through amusing ways of using Python for quantitative finance.
By using Python’s programming toolset, you will learn how to develop a professional framework to analyze various financial concepts based on popular Monte Carlo methods extensively used as a part of risk analytics. One of the main Python tools required for financial programming is IPython Notebooks, so the author pays a lot of attention to its application for concrete financial tasks, but more specifically to:
- Basic Python elements: Python data structures, NumPy array handling, time series analysis with pandas, visualization with matplotlib, high performance I/O operations with PyTables, and most relevant practical techniques;
- Financial topics: stochastics for Monte Carlo simulation, Value-at-Risk, and Credit-Value-at-Risk calculations; mathematical techniques with NumPy, SciPy and SymPy such as regression and optimization; statistics for normality tests, mean-variance portfolio optimization, principal component analysis (PCA), and Bayesian regression;
- Extra topics: using Python for developing financial algorithms, such as vectorization and parallelization, integrating Python with Excel, and building financial applications using major web tools.
The book is available on Amazon for $39.68 (paperback) and $22.99 respectively.
Test-Driven Development with Python by Harry J.W. Percival
This book is intended for those interested in learning how to run tests on Python rather than write complex programs from scratch. You can also use this hands-on guide as an addon to your current Python experience so that you could prevent future bugs in your code before it is actually released. Python by itself has a rich repertoire allowing for various techniques in test-driven development, and this book will show how to use them.
There is a number of highly important programming tools which you should be aware of in order to handle various TDD-related tasks, namely: Git, Django, jQuery, Selenium,and Mock. In this book, you will find detailed descriptions of these frameworks as well as major web development techniques required to run tests in the most efficient way. Among other topics covered in this book, you will also find:
- Explanation of key TDD concepts, such as TDD workflow, the unit test/code cycle and refactoring;
- Tips on how to use use unit tests for classes and functions, and run functional tests for user interactions on frontend;
- Tips as to when and how to use mock objects, and how to distinguish isolated and integrated tests;
- Recommendations on how to use staging server for testing and automating your deployments;
- Techniques allowing you to apply tests to the third-party plugins that you integrate into the website;
- Tips on how to use a Continuous Integration environment to run your tests automatically.
Test-Driven Development with Python is said to be a perfect learning source for both Python developers and people unfamiliar with the language. Furthermore, customers find the book a really comprehensive source on TDD using most realistic examples and detailed explanations to illustrate certain techniques than any other existing book on the same topic. Finally, the author manages to explain Python-related concepts by skillfully intertwining them with test-driven ideas, thus providing the best source of wisdom for every reader concerned.
You can purchase the book in paperback for $35.23 or as an e-book for $13.49 on Amazon.
Python for proficient developers
Fluent Python by Luciano Ramalho
Unlike other Python materials in this list, this book provides a somewhat deeper insight into the language emphasizing the need for exploring all of its features, not only basic ones. You will not only learn to write productive code quickly, but you will also manage to successfully utilize Python’s rare, but pretty much underrated, features. Thus, the author will guide you through the core language tools and features and show you how to use them to produce shorter but at the same time more effective code.
According to Ramalho, many programmers who come to know Python as an additional language tend to only use features that can be also found in other languages, which is wrong, as Python’s best and most useful tools are often left ignored. That is why this book is essentially important for those who want to acquire the most comprehensive knowledge of the language, specifically Python 3.
The given book will teach you the following concepts:
- How to reach consistent object behavior by using certain methods as part of Python data model;
- How to organize your data by using Python’s built-in types and distinguish between text vs bytes duality;
- Consider functions as the language’s primary objects and understand how it affects popular design patterns;
- Learn everything about object-oriented programming, including references, mutability, interfaces, operator overloading, and multiple inheritance;
- How to use control flow with such tools as context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages;
- Dive into metaprogramming by learning more about properties, attribute descriptors, class decorators, and metaclasses.
Some readers suggest the book to be too specific and comprehensive for beginners and rather suiting more experienced programmers. However, this book should be definitely taken into account if you aim to become a real expert in Python and be able to write more elaborate code with its toolkit.
The book’s price now is $39.99 for the paperback copy and $24.99 for the e-book version.
Python for Everyday: Exploring Data in Python 3 by Charles Severance
Although this book has just a few reviews on Amazon, it’s still said to be pretty good and helpful in learning Python. What’s more important, the author of the book is originally a Professor in the School of Information at the University of Michigan and concurrently a lecturer at
Python for Everyday concentrates mainly on creating, structuring, and analyzing data by using Python as the most effective programming means developed so far. According to the author himself, Python allows for great opportunities in troubleshooting various data issues by at the same time being a rather simple and comprehensible language. By the end of the book, you will acquire the vast majority of practical programming skills by following the step-by-step introduction to the language accompanied by masterfully designed exercises and check-up tests.
The book is currently rather moderate – only $9.99 for a print book and $0.99 (!) – for an e-book.
Effective Python by Brett Slatkin
This is the best option for you if you want to know not only How but also Why. This book by Brett Slatkin is one of the most comprehensive Python learning sources, as it provides a complete understanding of the key programming techniques available with this language. The author goes into detail in order to shed light on all specifics of Python’s functional repertoire and how to apply it in your daily routine. As a result, you will gain lots of practical experience in the topic allowing you to write readable, effective, and powerful code.
The book offers to you a set of 59 most useful practical examples of implementing Python for various technical purposes, accompanied with helpful tips and images. What’s more important, the author touches upon both major Python releases – 2.x and 3.x – to illustrate the main advantages of each one in performing various tasks. Apart from that, the book covers the following Python concepts:
- Modules
- Classes and Objects
- Concurrency
- Development techniques
- Primary Functions
- …and more.
According to readers’ reviews, the book indeed is a windfall offering lots of practical information for beginning programmers and quite enough insights for experienced developers. It introduces various basic concepts gradually building up to more complex ideas and practices by using less popular and original approaches to solving usual problems. However, it’s worth mentioning that some novices will find this book tough due to a lack of general knowledge in the field, so we recommend you to start it only after you’re done with one of the introductory books first.
Effective Python is now only $29.40 on Amazon, so if you feel like learning something essentially new about Python, feel free to buy it!
Python Essential Reference by David M. Beazley
This one is a bright representative of an advanced long read for experienced Python developers. Unlike the previous book, it’s full of bulky descriptions and explanations. However, it can be considered a real Python encyclopedia to which you can refer each time you experience difficulties with managing your code. This is what makes this book so essentially important.
By structure, the book can be formally divided into two parts. The first part is dedicated to introducing the Python language itself (namely, 2.6 and 3.0), whereas the second part puts larger emphasis on its libraries and describing their components. Both of them, however, share a great abundance of comprehensible examples and practical tips.
This book has been positively accepted on Amazon, so it’s totally worth your money ($49.50 for a paperback copy/$23.39 for a Kindle e-book).