The reason for writing this post is that I have received more than 10 requests from fans asking me what books to buy for Python in recent days. I was surprised to see that a few fans bought The Python Programming In Practice book as a beginner’s introduction to Python……

It is not that this book is rubbish, I have read this book, the book is not very thick, a few days can finish, about some very basic knowledge, and some places are very jump, and did not explain clearly, I think that with this money, you can go to buy higher quality, more suitable books to see, harvest is not less than this.

In my 18 years of working, I have read more than 200 technical books myself. Now I have more than 50 personal favorite books in my study at home, which I often turn over from time to time. Reading has become a habit for me over the years.

In order to make sure that more people who want to learn Python by reading books can put their money where their mouth is, I’ve compiled a list of books on all the popular areas of Python that I personally think are worth reading for a good price. I’m going to share some of the highlights with you today, and some of them are even as good as the paid courses currently on the market.


First, Python beginners

For beginners to learn Python, I recommend this book “Python Programming from Introduction to Practice”. This is a very small book, the content is friendly, there is no esoteric knowledge, the explanation is in place, can let small white quickly understand Python, enjoy the confidence and interest brought by programming.

This book is divided into two parts: basic knowledge and practical project. First, I learn the basic knowledge of Python step by step, and then THROUGH the practical training of one high-quality project, I can cultivate my programming thinking, and the skills and Angle of analyzing problems, which is absolutely beneficial.

This book is based on Python 3, so there’s no problem with this book as a primer, it covers common areas of Use of Python, and after you’ve learned the basics if you want to expand into a specific area, then you can look for a book on that specific area.


Second, the direction of web crawler

(1) “Python Programming Quick Start edition 2”

If you’re a beginner or a weak beginner who wants to learn about crawlers, I recommend Getting Started with Python Programming edition 2.

This book is mainly about Python basic introduction, web crawler and office automation (Excel/ Word /PDF). It is very suitable for beginners to walk in the direction of web crawler, because web crawler is not only the front end of data crawling, data storage and processing behind is also a focus. Otherwise, you’ll get a little creepy when you’re crawling down a bunch of messy data, so the addition of office automation could make web crawlers even more powerful.

This book is about putting what you’ve learned into practice, and the end of each chapter provides exercises and in-depth practical projects to help consolidate what you’ve learned. The appendix section provides solutions to all the exercises, which can be said to be a rare work to learn the crawler.

(2) Python Network Data Collection

If you’re a Python learner who wants to move on to crawlers, check out Python Web Data Collection.

This book is specifically about web crawlers, is straight to the subject, so it is not suitable for zero foundation or weak foundation of the novice, but is more suitable for people who have learned Python to read, it will save you a lot of time and energy, and it is not thick, only about 200 pages. This extended edition of this practical book not only introduces web scraping, but also serves as a comprehensive guide to scraping almost all types of data from the modern web.


3. Data analysis direction

(1) Data Analysis with Python

For data analysis, I recommend Data Analysis with Python if you have a basic knowledge of Python.

Those of you who have been involved in data analysis know that we often use Pandas. This book, written by the founder of the Pandas project, goes into the nuts and nuts of manipulating, manipulating, cleaning, and organizing data in Python. It covers Pandas, NumPy, IPython, and Jupyter, and adds a large number of practical examples to help you effectively solve a range of data analysis problems.

Last year when I am reading the second edition of this book, feel it, but the only fly in the ointment is the second edition of the book there are some mistakes in translation, compared with the first sent some, don’t know if now appears, revised edition, if you have the ability to suggest to read in English, because the book is very strong in data analysis.

(2) “Python Data Analysis Basics”

If you have no or very weak Python fundamentals, start with this Python Data Analysis Basics Tutorial.

This is a book published last year by People’s Publishing House. It gives readers a lot of beginner friendly Python basics and data introduction in the beginning, as well as project exercises with chapters; In the key part of this article, we will introduce the specific operations of NumPy, Matplotlib, Pandas, and machine learning library Scikit-Learn.

It can be said to be a rare book from zero to proficient in data analysis, but is this book suitable for people with basic knowledge? Of course, there’s no need to read it. You can go to the second version and start directly with NumPy, which will save you a lot of time.


Fourth, front-end development direction

For the front-end indispensable these two pieces of HTML, CSS, I personally feel that don’t need to read a book, two pieces of new point is quickly and, see a book light could you just learn to soon be deprecated to learn new technology and general word master base is ok, basis there are many resources on the Internet you can learn, such as novice tutorial, and so on.

In addition to HTML, CSS, front-end involves a lot of points, such as AJAX and so on, but essential is our JS, ABOUT JS I personally must recommend an industry reputation of the best little Red book.

(1) advanced Programming in JavaScript (4th edition)

This “JavaScript Advanced Programming” also known as the Little Red Book, this book is more friendly to beginners than the Rhino book “the Authoritative Guide to JavaScript”, the Rhino book is more like a dictionary book, a little boring and difficult to understand, but the Little Red Book is more smooth and easy to understand, from the shallow to the deep you understand JS.

The Little Red Book is also out of the 4th edition, which is also added a lot of things, such as mobile terminal detection, and rich text editor, and HTML5 and so on, it may not be a quick book, but it can certainly give you a comprehensive JS knowledge precipitation.

This book is relatively thick, more than 800 pages, the range is also relatively wide, read to need a longer time, but read is not equal to finished, it is a very suitable for the collection up to repeatedly turn over the book.


Fifth, back-end development direction

(1) Illustrated HTTP

Many web designers don’t really understand HTTP. I recommend a book called Illustrated HTTP, which not only gives you an idea of the PROTOCOL, but the most interesting part of the book is to see how HTTP solves the technical challenges of new interactions based on simple stateless protocols.

This book is suitable for Web development engineers, front-end and back-end, as well as readers of all levels interested in the HTTP protocol. It is not only easy to understand, even product managers can understand, but also easy to read, just over 300 pages.

(2) Database books

Database books I recommend two very classic and useful books, one is SQL Must Know, and the other is High Performance MySQL, you can choose one of the two books to read, according to your interest or work needs to choose the corresponding book, if you don’t know now, So I think you should read High-performance MySQL. MySQL is a hot database at the moment, and high-performance MySQL is really a classic book for the database community. It covers all the knowledge points, and I think it is worth learning again and again for both DBAs and front and back end developers.

Both of these books are for people who have a basic knowledge of Python, so if you don’t have a basic knowledge of Python, go ahead and learn the basics.


Vi. Automated testing

(1) Selenium3 Automated Test Practice — Based on Python language

This book are zero base learners, books before facing the Python interpreter did a lot of knowledge, before or while I’m reading the second edition, the book of no contact with people in the field of automated testing is very friendly, speak part of selenium is a bit less, speak a bit more automation concept, but as a basic book is good, It is now in its third edition.

(2) PyTest

For developers with testing experience or Python foundation, pyTest In Action is a good book.

Pytest in Action is a must-read for test engineers. It’s full of test cases, and it explains pyTest’s use, especially its featured fixtures. It’s a pity that PyTest, the most popular Python test tool in the industry, is missing out.


7. Machine learning and artificial intelligence

(1) Deep Learning in Python

Written by Keras father Francois Chollet, who is now an AI researcher at Google, this is a master book and one of the most acclaimed and rare books in the field of machine learning and AI. At the time I read this book, I was not in the field of machine learning, but I was still able to understand the book when I read it, so it is a good introduction.

The book basically focuses on Keras’ various implementations of deep learning, from CNN, RNN to GAN, etc. It is generally introductory, but it also carries many authors’ thoughts on the integrity of deep learning. It is worth mentioning that the author recommends running the example in the book with gpus. This is not a joke, you will feel desperate to run with THE CPU.

(2) Statistical Learning Methods (2nd Edition)

This I have to do a recommendation, is our country one of the few peak of machine learning, by expericnce, compared to zhou watermelon book “machine learning” strong too much, watermelon book is really boring, I also didn’t finish see don’t know where did, instead is expericnce the learning method of statistics I saw it again and again for many times.

It’s a classic of statistical learning (MACHINE learning) textbooks, now in its second edition. It covers all the mainstream techniques of machine learning, and it’s a concise, no-nonsense, no-charts book that gives you a clear overview of the principles, with appropriate examples.


Eight, other directions advanced

If you want to read more advanced books in the areas you are interested in to improve your technical stack, then you can read books in the following directions, which of course are outside the scope of Python.

(1) Data structure and algorithm books

For programming work, in addition to language proficiency, the most important is the data structure and algorithm.

I recommend the book Introduction to Algorithms,This book is not suitable for beginnersBecause this book requires a strong mathematical background and a deep foundation of data structures and algorithms.

Compared to the previous book, “Algorithm” this book is more acceptable, should be suitable for the vast majority of mathematical data structure and algorithm partners. This book covers the basic data structures and algorithms in a very comprehensive way, and is basically a book where you can do well with data structures and algorithms.

There’s no book you can read that will turn you into a higher-paying job, but if you finish reading it, you’ll be able to broaden your mind, and perhaps improve your thinking, and come up with better ways to solve problems at work


(2) Computer network books

Although we have illustrated HTTP on the back end of the book, there is no computer networking without TCP/IP.

I have always felt that “TCP/IP In Detail” this book is my TCP/IP protocol stack of the best book, although said that this book is very obscure, too classic, so it must be recommended. Of course, there’s Computer Networking From top to Bottom, and I don’t think there are any better books on computer networking out there, so take a look at either.


(3) Linux system books

As we all know, C language development is seldom done on Windows, and is basically based on Linux operating system. As an excellent programmer, understanding of Linux is essential.

First to recommend bird elder brother “Linux private kitchens”, the book is mainly about the use of Linux operating system, for it is main or command, very suitable for when the reference books, if you are on the inside of the content is familiar with basic, then you can come in handy, don’t need you to remember the details, but you should generally know what command is stem what of, suggest you to read it again.

“Linux private house food” is only about the use of the Linux operating system level, but if you want to learn to program on the Linux operating system, it is recommended to read this called “Unix environment advanced programming”, C language again good, not on the Linux operating system programming combat, then it is just a toy.

“Unix environment advanced programming” will talk about a lot of practical aspects of the content, such as file IO, multithreaded programming, networking, sockets and so on, very practical and classic.


(3) Code quality books

Finally, one of my most influential books on code quality is refactoring and improving the design of existing code. This book is about the best practices, but you need to have some programming background.

conclusion

I started to read these books when I was at work. At that time, I felt a regret that I didn’t read more books when I was reading, especially when the large treasure house of the library was still free in the university.

This is my current read books about Python and programming, I personally think it’s a good book, although I read the technical books is not less, but everyone in the reading of the technical level is different, so the understanding of the books and evaluation is also different, but does not affect we look back on the road and read the book, We’re all trying to leave some better references for the people behind.

Borrow a famous writer Bing Xin’s words with everyone to encourage: read well, read more books, read good books.

Some good books about Python or programming languages. What else have you read? Let us know in the comments!