

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Yemen.
Write fast, robust, and highly reusable applications using Python's internal optimization, state-of-the-art performance-benchmarking tools, and cutting-edge libraries Key Features Benchmark, profile, and accelerate Python programs using optimization tools Scale applications to multiple processors with concurrent programming Make applications robust and reusable using effective design patterns Book Description Python's powerful capabilities for implementing robust and efficient programs make it one of the most sought-after programming languages. In this book, you'll explore the tools that allow you to improve performance and take your Python programs to the next level. This book starts by examining the built-in as well as external libraries that streamline tasks in the development cycle, such as benchmarking, profiling, and optimizing. You'll then get to grips with using specialized tools such as dedicated libraries and compilers to increase your performance at number-crunching tasks, including training machine learning models. The book covers concurrency, a major solution to making programs more efficient and scalable, and various concurrent programming techniques such as multithreading, multiprocessing, and asynchronous programming. You'll also understand the common problems that cause undesirable behavior in concurrent programs. Finally, you'll work with a wide range of design patterns, including creational, structural, and behavioral patterns that enable you to tackle complex design and architecture challenges, making your programs more robust and maintainable. By the end of the book, you'll be exposed to a wide range of advanced functionalities in Python and be equipped with the practical knowledge needed to apply them to your use cases. What you will learn Write efficient numerical code with NumPy, pandas, and Xarray Use Cython and Numba to achieve native performance Find bottlenecks in your Python code using profilers Optimize your machine learning models with JAX Implement multithreaded, multiprocessing, and asynchronous programs Solve common problems in concurrent programming, such as deadlocks Tackle architecture challenges with design patterns Who this book is for This book is for intermediate to experienced Python programmers who are looking to scale up their applications in a systematic and robust manner. Programmers from a range of backgrounds will find this book useful, including software engineers, scientific programmers, and software architects. Table of Contents Benchmarking and Profiling Pure Python Optimizations Fast Array Operations with NumPy and Pandas C Performance with Cython Exploring Compilers Automatic Differentiation and Accelerated Linear Algebra for Machine Learning Implementing Concurrency Parallel Processing Concurrent Web Requests Concurrent Image Processing Building Communication Channels with asyncio Deadlocks Starvation Race Conditions The Global Interpreter Lock The Factory Pattern The Builder Pattern Other Creational Patterns The Adapter Pattern The Decorator Pattern The Bridge Pattern The Facade Pattern Other Structural Patterns The Chain of Responsibility Pattern The Command Pattern The Observer Pattern Review: Great Book for every python programmer! - Advanced Python Programming 2nd edition by Quan Nguyen. Over 500 pages of pythonic knowledge that I consider a must know for anyone using python programming professionally. As a fulltime student working as a researcher, researching Breast Cancer detection using machine learning, I use python daily and this book has been so helpful for me in developing and strengthening areas I was previously lacking. Another one of the things I loved about this book is the example they use throughout the book, a simple particle simulator. If you love physics as I do, you will fall in love with this example, and how it grows throughout the book, getting better and better as we learn how to use more powerful techniques to achieve the best performance from whatever we are building. Advanced Python Programming 2nd Edition also covers topics like Machine Learning, just the basics, but it is a good start. It gets into how to use Concurrency and parallel processing, what the differences are between them, and what some of the common mistakes us beginners usually face when first starting out in these tough areas of python programming. This book is truly a toolbox of techniques for us to use, which can help us to become masters of this unique and diverse programming language. There is a whole section on Design Patterns which was recently so helpful for me in my research. I had to build a singleton class and had no idea what that even was, and I was able to look it up in this book and learn exactly what I needed to do to implement one on my own. Other design patterns covered are things like the Factory Pattern, the Builder Pattern, Creational Patterns – for which the Singleton was a part of, the Adapter Pattern, the Decorator Pattern, Bridge Pattern and more. It really gets into the nitty gritty of how to properly program in python. So, if you are programming in python professionally already or just looking for a book to boost up what you already know this book is for you. It does not get into the basics of python so it starts out assuming you already have that experience so if you never programmed in python before you may want to start someplace else before trying this book, but I think it is a great book for anyone who plans to use python on a regular basis. Packt books has done it again and brought us another great technical book by another great author, Quan Nguyen who does wonders in this book. Advanced Python Programming 2nd edition is an amazing book so I’d say pick it up if you can, it will not disappoint. Review: More challenging read than I expected. - First impression was "Even though it's pretty long (~550 pages), this will be an easy read, because I already have substantial experience with Design Patterns in C++." Well, it was a lot more than just a Design Patterns in Python3 book. I wasn't very far into the book when my hubris became embarrassingly obvious. The author didn't even start in on the Design Patterns stuff until nearly 2/3rds of the way through the book. Well, that part was a comparably easy read, partially because using the GoF patterns in Python is a little easier than in C++. Well, mostly, anyway. Python3 makes using most of the GoF patterns pretty straightforward. The first two-thirds of the book were more challenging (and informative) than I expected. The author takes a deep dive into various ways to optimize and improve your code. Of course, he started off with the observation that the choice of algorithm totally dominates that process. But I certainly learned a lot about Python3 (and various library) optimizations. I got introduced to a lot of different things in Python3 that I didn't know existed, and got to review some things I had not encountered in a long time. In a way, learning Python is a lot like learning Java, in the sense that the syntax of the language is pretty easy to understand. The problem is that learning the proper syntax rules puts you at about 5% of the way to being a proficient programmer. Learning the "Pythonic" way of doing stuff (like making appropriate use of things like tuples and dictionaries) gets you to maybe 15%. Learning a huge body of existing libraries gets you to about 80%, after which incremental gains get more challenging. I think that this book can get you to almost 100% (actually, 100% might not really be achievable in any discipline -- or maybe the field just continues to expand) of the way to production programming. Well, this book and a few years of experience. If you already have a bit of Python3 experience, then this book is a great follow-on to get your Python3 chops to the next level. I liked the way the assessment questions were used, and I appreciated the coverage of the assessment answers at the end. The assessments were well-done. I can think of only two things to suggest for improvement. The first would be to make this into 3 books instead of one huge tome. That might have made it somewhat less overwhelming The second would be to provide an overview of how to use the various help facilities in Python. Although by the time you really need this book, you probably already have that 2nd part figured out. This book will be one that I return to often for reference.
| Best Sellers Rank | #1,799,468 in Books ( See Top 100 in Books ) #107 in Client-Server Networking Systems #1,411 in Python Programming #9,693 in Computer Science (Books) |
| Customer Reviews | 4.3 out of 5 stars 33 Reviews |
R**N
Great Book for every python programmer!
Advanced Python Programming 2nd edition by Quan Nguyen. Over 500 pages of pythonic knowledge that I consider a must know for anyone using python programming professionally. As a fulltime student working as a researcher, researching Breast Cancer detection using machine learning, I use python daily and this book has been so helpful for me in developing and strengthening areas I was previously lacking. Another one of the things I loved about this book is the example they use throughout the book, a simple particle simulator. If you love physics as I do, you will fall in love with this example, and how it grows throughout the book, getting better and better as we learn how to use more powerful techniques to achieve the best performance from whatever we are building. Advanced Python Programming 2nd Edition also covers topics like Machine Learning, just the basics, but it is a good start. It gets into how to use Concurrency and parallel processing, what the differences are between them, and what some of the common mistakes us beginners usually face when first starting out in these tough areas of python programming. This book is truly a toolbox of techniques for us to use, which can help us to become masters of this unique and diverse programming language. There is a whole section on Design Patterns which was recently so helpful for me in my research. I had to build a singleton class and had no idea what that even was, and I was able to look it up in this book and learn exactly what I needed to do to implement one on my own. Other design patterns covered are things like the Factory Pattern, the Builder Pattern, Creational Patterns – for which the Singleton was a part of, the Adapter Pattern, the Decorator Pattern, Bridge Pattern and more. It really gets into the nitty gritty of how to properly program in python. So, if you are programming in python professionally already or just looking for a book to boost up what you already know this book is for you. It does not get into the basics of python so it starts out assuming you already have that experience so if you never programmed in python before you may want to start someplace else before trying this book, but I think it is a great book for anyone who plans to use python on a regular basis. Packt books has done it again and brought us another great technical book by another great author, Quan Nguyen who does wonders in this book. Advanced Python Programming 2nd edition is an amazing book so I’d say pick it up if you can, it will not disappoint.
A**R
More challenging read than I expected.
First impression was "Even though it's pretty long (~550 pages), this will be an easy read, because I already have substantial experience with Design Patterns in C++." Well, it was a lot more than just a Design Patterns in Python3 book. I wasn't very far into the book when my hubris became embarrassingly obvious. The author didn't even start in on the Design Patterns stuff until nearly 2/3rds of the way through the book. Well, that part was a comparably easy read, partially because using the GoF patterns in Python is a little easier than in C++. Well, mostly, anyway. Python3 makes using most of the GoF patterns pretty straightforward. The first two-thirds of the book were more challenging (and informative) than I expected. The author takes a deep dive into various ways to optimize and improve your code. Of course, he started off with the observation that the choice of algorithm totally dominates that process. But I certainly learned a lot about Python3 (and various library) optimizations. I got introduced to a lot of different things in Python3 that I didn't know existed, and got to review some things I had not encountered in a long time. In a way, learning Python is a lot like learning Java, in the sense that the syntax of the language is pretty easy to understand. The problem is that learning the proper syntax rules puts you at about 5% of the way to being a proficient programmer. Learning the "Pythonic" way of doing stuff (like making appropriate use of things like tuples and dictionaries) gets you to maybe 15%. Learning a huge body of existing libraries gets you to about 80%, after which incremental gains get more challenging. I think that this book can get you to almost 100% (actually, 100% might not really be achievable in any discipline -- or maybe the field just continues to expand) of the way to production programming. Well, this book and a few years of experience. If you already have a bit of Python3 experience, then this book is a great follow-on to get your Python3 chops to the next level. I liked the way the assessment questions were used, and I appreciated the coverage of the assessment answers at the end. The assessments were well-done. I can think of only two things to suggest for improvement. The first would be to make this into 3 books instead of one huge tome. That might have made it somewhat less overwhelming The second would be to provide an overview of how to use the various help facilities in Python. Although by the time you really need this book, you probably already have that 2nd part figured out. This book will be one that I return to often for reference.
P**H
More a advanced python book for researchers
Not really for professional software people, for example I did a search for "docstring" and didn't find a reference. I wanted to understand some subtleties in the multiprocessing library, specifically joinable queue's, no discussion on it. It did go over the GIL in chapter 15, but maybe a couple of sentences in the intro would be justified for that? Could be a 5 star for researcher doing larger python apps, but barely a 3 star for advanced python programming for software professionals.
T**Y
Making Python Tight and Deadly
Back to standards with new Python tips and tricks. Advanced Python Programming, 2nd Ed. by Quan Nguyen out from Packt demonstrates all the tried and true ways to make your Python code better in a single reference. The work begins with ways to optimize Python, moves into some of the most common problems, and then suggests construction patterns that can help the overall architecture. This is an invaluable intermediate reference and refresher for developing Python expertise. The first section goes back to Python basics, ensuring all the fundamentals are correctly aligned. The elements familiarize the user with some of the more common Python libraries like NumPy and Pandas, works through Cython implementation with C, and discusses compilers. All along the way, the examples demonstrate how each change speeds code, and makes the overall performance improve. The last chapter in this section deals with integrating Python with Machine Learning practices. The middle section begins to introduce parallelism and concurrency to Python practices. Particularly useful were the step by step solutions to manage concurrent web or image requests as well as introducing some of the asyncio aspects for Python. These tools ensure code does not lock when fetching objects for users. This sections main aspects deal with the various ways code can get stuck including deadlocks, livelock, race conditions and starvation as well as how to fix those errors. The book offers some unique options for getting around the Global Interpreter Lock (GIL) through the use of Cython, building a bridge around challenging aspects. The final section introduces Python architecture, suggesting some of the common used formats that can manage multiple task while still reducing memory. The section does not cover all twenty-three common approaches but offers nine of the most common with detailed, step-by-step code to try and introduce those solutions locally. Overall, this is an excellent reference for the intermediate or advanced Python developer. This 2nd edition introduced the machine learning section which was immensely valuable. If you are developing in Python, this book should probably be on either your physical or digital shelf.
I**L
Great for Learning Advanced Python skills and Ideas!!!
As the title states, "Advanced." This is an excellent book for learning advanced Python concepts!! This is not a book to initially learn Python or general programming. If you're already adept at Python, this book is a great next step. It covers various topics ranging from testing libraries to design patterns, in a concise manner. The book itself is large due to covering so many intermediate to advanced topics; but the book gets straight to the point, which is great! Some of the topics covered in this book have come up as questions in programming and data science interviews I've attended. So I wish I had this book prior to attending interviews. It's a great reference and full of ideas for you to consider when you are at that intermediate to advanced state. When you're ready to step up your current Python skills, if you're looking to interview as a Python-based Software Engineer or Data Scientist, or if you would like to discover Advanced Python ideas/topics which you may not have even thought of yet, this is an excellent book for you!!!
J**L
Good coverage of optimization and factory techniques!
Advanced Python Programming, Second Edition offers a variety of in-depth coverage in its roughly 550 pages. The book starts off with optimization techniques, useful to all Python programmers but especially those focusing on mathematical specialties (NumPy, Pandas, and Xarray). There’s also a neat introduction to machine learning, which leads smoothly into a treatment of parallel and threaded processing. Deadlocks, thread starvation, and the global interpreter lock are explained in a context useful to Python professionals. Finally, several in-depth chapters are devoted to the care and feeding of various design patterns and factories. If you're not comfortable with those functions when you start the book, you probably will be once you finish it. The author, Quan Nguyen, has done a solid job of presenting the material without overwhelming the reader, using code examples, projects, and diagrams where appropriate. Chapters are well-paced making for a very readable book. As the title indicates, this is not a beginner’s guide or a Python tutorial, but experienced programmers will definitely pick up some new knowledge from a thorough reading.
J**)
Essential for optimizing Python
Python is a very versatile language, in general, one thing is to learn a language and another thing is to use it in the most optimal way, so that the software that is developed is of a performance for its users and the structure in which it is located. In "Advanced Python Programming", the author delves into techniques and practices to optimize programs written in Python, so that it uses optimally the resources at its disposal and fulfills its objectives in the best way. The book takes us through the different aspects to consider to improve our codes, the only goal is to be a better Python developer.
P**E
Two Books in One
Python an increasingly relevant programming language and this book provides great insights, and examples on how to harness some of the advanced power of the language. This is accomplished by demonstrated how to use Python to implement concurrency, multithreading, multiprocessing, benchmarking, optimizing, and profiling. Additional topics include asynchronous programming and machine learning. I titled my review two books in one because, in addition to covering advanced programming topics and techniques, the book also covers design patterns. While not all the Gang of Four (GoF) 23 original design patterns are covered, the majority of them are.
Trustpilot
2 months ago
1 week ago