Patterns and Strategies with Modern Python
Aaron Maxwell

#Python
#Modern_Python
#TDD
🐍 وقتی اصول اولیه پایتون را میدانید، چگونه به ۱٪ برتر برنامهنویسان پایتون تبدیل میشوید؟ این کتاب پاسخ میدهد که چگونه زمان یادگیری خود را روی مباحثی متمرکز کنید که بیشترین بهره را برای مهندسی تولید و تیمهای داده دارند—بدون اینکه درگیر اطلاعات کمارزش شوید.
⚡ ویژگیهای کلیدی کتاب:
📌 مخاطب کتاب:
این کتاب برای کسانی است که اصول اولیه پایتون را یاد گرفتهاند و میخواهند تکنیکها و استراتژیهای پیشرفتهتر یاد بگیرند تا بتوانند بیشتر و بهتر کدنویسی کنند.
🚫 این کتاب مناسب چه کسانی نیست؟
🎯 استراتژی کتاب:
👤 درباره نویسنده:
Aaron Maxwell برنامهنویس و Pythonista است که ده سال در تیمهای مهندسی سیلیکون ولی، از جمله دو Unicorn، تجربه تولید در مقیاس بزرگ، علم داده، یادگیری ماشین، زیرساخت تست اتوماتیک، DevOps، SRE و cloud دارد. او سپس به آموزش پرداخت و دورههای پیشرفته پایتون را برای بیش از ۱۰,۰۰۰ حرفهای فناوری در سراسر جهان تدریس کرده است.
Once you've mastered the basics of Python, how do you skill up to the top 1%? How do you focus your learning time on topics that yield the most benefit for production engineering and data teams—without getting distracted by info of little real-world use? This book answers these questions and more.
Based on author Aaron Maxwell's software engineering career in Silicon Valley, this unique book focuses on the Python first principles that act to accelerate everything else: the 5% of programming knowledge that makes the remaining 95% fall like dominos. It's also this knowledge that helps you become an exceptional Python programmer, fast.
Table of Contents
Chapter 1. Scaling with Generators
Chapter 2. Creating Collections with Comprehensions
Chapter 3. Advanced Functions
Chapter 4. Decorators
Chapter 5. Exceptions and Errors
Chapter 6. Classes and Objects: Beyond the Basics
Chapter 7. Automated Testing
Chapter 8. Module Organization
Chapter 9. Logging in Python
Who This Book Is For
This book is for you if you know the basics of Python and have mastered just about everything the beginner tutorials can teach you. It is also for those who want to learn more advanced techniques and strategies, so you can do more with Python, and more with coding, than you could before.
This book is not for people who want just enough Python to get by. Like I said, Python is important, and rewards those who master it.
And this book is not for the unambitious. In writing, I assume you want to build a career you are proud of, doing work with a high positive impact.
Further, this book is not for the mentally rigid. The difference between elite engineers and “normal” coders lies in the distinctions they make, the mental models they leverage, and their ability to perceive what others cannot.
Our Strategy in This Book
Modern Problem #1: You have too much to learn.
Modern Problem #2: Society has evolved to reduce your time and energy for deep focused learning, due to changes in technology and culture.
This seems like a recipe for misery. But there is a way out: what are called first principles.
In any field of human activity—including Python coding—there are foundational concepts which everything builds on. These include powerful distinctions, abstractions, and mental models. When you learn what these first principles are and how to work with them, you find yourself cutting through the noise and getting ahead much more easily. These first principles are accelerators, in that they give you the tools, inner resources, and capabilities to solve many problems. It effectively creates a “95/5” rule: there is a 5% you can focus on learning, which makes the remaining 95% fall like dominos.
That 5% is what we mean by the first principles of Python. Which is what this book is really about.
Hence, this book is selective in what it covers. It is not a comprehensive “one stop shop” for everything Python. Further, this book contains practical guidance based on lessons learned when writing real-world software—often as part of a team of engineers.
So factors like maintainability, robustness, and readability are considered more important than anything else. There is a balance between leveraging powerful abstractions, and writing code that is easy to work with by everyone on your team. This book aims to walk that line.
Throughout, I give much attention to cognitive aspects of software development. How do you write code that you and others can reason about easily, quickly, and accurately? This is one reason variable and function naming is important. But it goes far beyond that syntax level…to intelligently choosing which language features and library resources to use, and which to avoid.
This book is not large, as measured by number of pages. That’s a feature, not a bug: you already have too much to read. The focus is on what’s most valuable, so that—as much as possible—everything you learn will serve you for years.
Aaron Maxwell is a software engineer and Pythonista. Through a decade working in Silicon Valley engineering teams, including two Unicorns, he has gained strong production experience in backend engineering at scale; data science and machine learning; test automation infrastructure; DevOps and SRE; cloud infrastructure; marketing automation; and much more. He codes in a variety of languages, including plenty of Python. Aaron then pivoted to training, developing an innovative curriculum for intermediate and advanced Python, which he has taught to over 10,000 technology professionals worldwide―in nearly every engineering domain, country, and culture.









