Extensively updated for Python 3.10 with new chapters on design patterns, scientific programming, machine learning, and interactive Python
Shape your scripts using key concepts like concurrency, performance optimization, asyncio, and multiprocessing
Learn how advanced Python features fit together to produce maintainable code
Description
Even if you find writing Python code easy, writing code that is efficient, maintainable, and reusable is not so straightforward. Many of Python’s capabilities are underutilized even by more experienced programmers. Mastering Python, Second Edition, is an authoritative guide to understanding advanced Python programming so you can write the highest quality code. This new edition has been extensively revised and updated with exercises, four new chapters and updates up to Python 3.10.
Revisit important basics, including Pythonic style and syntax and functional programming. Avoid common mistakes made by programmers of all experience levels. Make smart decisions about the best testing and debugging tools to use, optimize your code’s performance across multiple machines and Python versions, and deploy often-forgotten Python features to your advantage. Get fully up to speed with asyncio and stretch the language even further by accessing C functions with simple Python calls. Finally, turn your new-and-improved code into packages and share them with the wider Python community.
If you are a Python programmer wanting to improve your code quality and readability, this Python book will make you confident in writing high-quality scripts and taking on bigger challenges
Who is this book for?
This book will benefit more experienced Python programmers who wish to upskill, serving as a reference for best practices and some of the more intricate Python techniques. Even if you have been using Python for years, chances are that you haven’t yet encountered every topic discussed in this book. A good understanding of Python programming is necessary
What you will learn
Write beautiful Pythonic code and avoid common Python coding mistakes
Apply the power of decorators, generators, coroutines, and metaclasses
Use different testing systems like pytest, unittest, and doctest
Track and optimize application performance for both memory and CPU usage
Debug your applications with PDB, Werkzeug, and faulthandler
Improve your performance through asyncio, multiprocessing, and distributed computing
Explore popular libraries like Dask, NumPy, SciPy, pandas, TensorFlow, and scikit-learn
Extend Python's capabilities with C/C++ libraries and system calls
I had never used virtual environments for Python projects, so this book's first chapter gave me a headache trying to figure out which of several approaches to take and what might be the best way to manage and track dependencies. It was a case of being shown too much too soon for someone who was expecting an easier, calmer entrance into intermediate and higher-level Python. However, once I got past that intimidating first chapter, I quickly started finding many topics and code examples that are helping me improve my capabilities. (Actually, Chapter 1 also helped me, even if it did give me a headache. I settled on Anaconda and was able to set up virtual environments that are working as described.)I now rate this book as a solid "keeper" for my library and definitely recommend it to others who want to up their Python game. The writing is clear, and the mostly short code examples adequately and clearly illustrate the author's points. The examples also can be good starting points for trying out your own variations and seeing what works or what blows up."Mastering Python Second Edition" is hefty, spanning some 680 pages. But that makes room even for some focus on obscure but useful functions such as *compress*, which "applies a Boolean filter to your iterable, making it return only the elements you actually need." The author's explanations of list, dict, set, and generator comprehensions have proved enlightening for me, and--grabbing at another random example--so has using *mpmath* for "convenient, precise calculations" involving trigonometry, calculus, matrices, and other operators. (My math skills are far from the best, so good help is always needed!) And, while doing some tests, it's good to know that "when measuring the execution time of a code snippet, there will always be some variation present."It will take me a while to work my way through all of the chapters and topics--and the numerous "try to" exercises (with answers posted on GitHub). Nonetheless, "Mastering Python" already has introduced me to a wide array of packages, tools, and topics that are helping me raise my capabilities, including functional programming style, testing, debugging, and working with scientific Python and plotting. My thanks to Packt Publishing for sending me a review copy to consider. This is a solid and comprehensive guide to producing better, more effective code using Python's wide-ranging capabilities, libraries, and tools.
Amazon Verified review
FedMar 01, 2024
5
I know python at a decent level but I’m always looking for more books to pick up new ideas and ways of coding. Good book for my needs. Probably not the friendliest book for a total beginner.
Amazon Verified review
Madhu BhargavOct 27, 2022
5
The book takes a very comprehensive approach in discussing about various topics in a structured way. It is more targeted towards someone who already nailed down the basics and want to learn and use python in an actual project. The introduction to Environment and Interpertetters was very well put together.The overall structure of the book caught me off guard though. I wish there was more emphasis on unit testing, packaging and C++ extensions earlier in the book before dealing with AI and ML. This my personal take as a Django Developer.In the debugging chapter, I wish the author talks about ipdb in depth instead of just a couple of pages. Nevertheless the number of topics covered in the book from Unit Testing to Tensorflow was really good for a intermediate level book.
Amazon Verified review
NinadJul 24, 2022
5
Content is designed well to aid the learning of new as well as experienced developer.Each concept is explained in detailed manner.Good amount coding examples.
Amazon Verified review
Anvesh ChintaJun 30, 2022
5
Pretty much covers everything you need to know about python, right from the basics. You can learn basic python from watching some YouTube videos or some blogs, but after that you struggle with What's next?. This book lays out all the paths that we can take after learning python and the best part of the book is it also mentions the pitfalls that we may encounter. I feel that's important. If you are that average learner who learnt python and curious about what's next this is the go to book.The only drawback is abundance of information. For the one who is really interested and have a path clear in mind it will be easy, otherwise it can be little overwhelming.
Rick van Hattem is an experienced programmer, entrepreneur, Stack Overflow veteran, and software/database architect with more than 20 years of programming experience, including 15 years with Python. He has extensive experience with high-performance architecture featuring large amounts of concurrent users and/or data. Rick has founded several start-ups and has consulted many companies, including a few Y Combinator start-ups and several large businesses
Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.
If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.
Please Note: Packt eBooks are non-returnable and non-refundable.
Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:
You may make copies of your eBook for your own use onto any machine
You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website?
If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:
Register on our website using your email address and the password.
Search for the title by name or ISBN using the search option.
Select the title you want to purchase.
Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title.
Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook?
If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
To view your account details or to download a new copy of the book go to www.packtpub.com/account
Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.
You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.
What are the benefits of eBooks?
You can get the information you need immediately
You can easily take them with you on a laptop
You can download them an unlimited number of times
You can print them out
They are copy-paste enabled
They are searchable
There is no password protection
They are lower price than print
They save resources and space
What is an eBook?
Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.
When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.
For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.