Very often you can see the questions on the same toaster: “And which book should a book be taken to learn technologists X?”, And naturally a large number of opinions and a large number of different books are given in the comments. In this topic, I will review the most popular books on Python for novice programmers, and I will give a clear opinion whether you need to read them or not (subjectively).
Do I need to read books. Studying new technologies, I like to read books on this technology, since I receive not only dry information, but also the author’s subjective opinion on the suitability of these technologies. And unlike video courses, I don’t have to wait until the author squeezes the thought out of himself. Yes, and I read, I quickly.
Details about books in Python
Mark Lutz - Learning Python and Programming in Python (2 volumes) . In my opinion, this book should be read by every Python programmer who wants to connect his life with this language.
')
- It gives an extensive understanding of the language.
- She explains the pros and cons of the language.
- It shows the evolution of language.
I really like how the author leads his reasoning from the occurrence of the problem, to its solution through the evolution of the program. It also gives an excellent insight into the evolution of a language (comparing python 2.7 and python 3.4).
The minuses of the book include a huge amount, a huge amount of outdated information, a huge amount of information that you will never use in your work. But if you want to understand the essence of Python - this is a mandatory book.
In my opinion, no other book, for example, Michael Dawson - We program in Python, Bill Lyubanovich - Simple Python, cannot infuse language understanding, as Lutz does.
After reading this book and downloading PyCharm without the it background, I was able to write my first programs (small desktop application, site parser and rebus).
Forsier J., Bissex P., Chan W., Django - web application development in Python. I consider this book completely useless, since it does not cope with its main task - to teach how to write web applications on Django.
- The material in the book is far behind the current versions of Django
- The material is given too quickly, in the end by the middle of the book you do not understand what is happening
To study Django, I recommend watching the introductory tutorial on Youtube from the Ukrainian center (gives a basic understanding of how this thing works), and then move with your project on documentation and google issues.
So for 3 months I was able to put together a working draft (and on the way learn html / css / js), which I have been earning for 4 years now. Now I gradually increase functionality.
Vestra E. - Development of geo-applications in Python. This book should be read by every developer who wants to write an adequate GIS application in Python. This book can be divided into two sections:
- What is a GIS system - very clear and adequate
- Why writing a Gis application in Python is painful
A typical phrase in the second part of the book: “There is an excellent GIS library for C ++ / Java, for Python there is a bent port without adequate documentation, therefore we open C ++ / Java documentation, open the source code of the port, and start picking it”. In the end, you come to understand that let's take Java right away and not engage in obscurantism.
Andreas Muller, Sarah Guido. Introduction to machine learning using Python. A small book that gives a clear understanding of what machine learning is, on what principles it is based, what tools are used for this. For a basic understanding - the best book that is at the moment.
Personally, I always thought that machine learning is some kind of rocket idea, and after reading this book, I saw that the basic principles are simple enough, you just have to bother to achieve good results. Would definitely recommend.
Noah Gift, Jeremy M. Jones Python in UNIX and Linux system administration. I consider this book absolutely useless for reading, as it gives a compressed python course, a compressed IPython course, a compressed Unix scripting course. In the end, all kind of superficial, one-sided, and outdated. If you have read at least one book on Python before this, boldly pass this book by the side.
R. Mitchell. Scraping websites with Python. Being engaged in my time a lot of parsing data from various sites, I can say that this book covers almost all aspects of this craft. Another thing is that all this information without problems is googled in small articles that give a much simpler explanation and guide to action. Therefore, this book is suitable only for those who have not previously engaged in parsing (for them it will be interesting), the rest are book side.
Ian Eric Solem Programming computer vision in Python. Another confused book that actually gives a brief description of popular libraries for working with data streams and multimedia files. Does not have any clear structure, does not have a clear narrative line. Wasting your time. Yes, I must admit, the development of computer vision in Python is exclusively a pet-project, for serious conditions this is not particularly quoted. This description also fits the book: "Python Digital Signal Processing"
In custody
Finally, I would like to tell you about one book that does not quite teach you python, but all examples go to Python: “Test-Driven Development with Python” - this book shows an example of developing a web application on Django, where you first write tests, and then the functionality is adjusted to this case.
Having the experience of writing commercial applications on Django, as well as the experience of working as a web application tester, I simply burned out how ridiculous this methodology is and how much it breaks the brain. If someone has free time, I ask to read.
Ps All books from my review can be found in open sources or in stores. Not all of them have a translation, but for the developer, this should not be a problem.