Opis ebooka: Robust Python
Does it seem like your Python projects are getting bigger and bigger? Are you feeling the pain as your codebase expands and gets tougher to debug and maintain? Python is an easy language to learn and use, but that also means systems can quickly grow beyond comprehension. Thankfully, Python has features to help developers overcome maintainability woes.
In this practical book, author Patrick Viafore shows you how to use Python's type system to the max. You'll look at user-defined types, such as classes and enums, and Python's type hinting system. You'll also learn how to make Python extensible and how to use a comprehensive testing strategy as a safety net. With these tips and techniques, you'll write clearer and more maintainable code.
- Learn why types are essential in modern development ecosystems
- Understand how type choices such as classes, dictionaries, and enums reflect specific intents
- Make Python extensible for the future without adding bloat
- Use popular Python tools to increase the safety and robustness of your codebase
- Evaluate current code to detect common maintainability gotchas
- Build a safety net around your codebase with linters and tests
Wybrane bestsellery
-
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbio...
Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II
(71.20 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następn...
Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV
(77.40 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Oto drugie, zaktualizowane i uzupełnione wydanie przewodnika po bibliotece Pandas. Dzięki tej przystępnej książce nauczysz się w pełni korzystać z możliwości oferowanych przez bibliotekę, nawet jeśli dopiero zaczynasz przygodę z analizą danych w Pythonie. Naukę rozpoczniesz z użyciem rzeczywisteg...
Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie II Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie II
(65.40 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
Python, stanowiący czołowy temat tego kursu, jest jednym z najpopularniejszych języków programowania na świecie. Słynie z wszechstronności, czytelności i dużej społeczności użytkowników. W świecie finansów Python zyskał szczególne uznanie ze względu na swoją efektywność w analizie danych, modelow...
Python i finanse. Kurs video. Tworzenie modeli, prognoz i analiz rynkowych Python i finanse. Kurs video. Tworzenie modeli, prognoz i analiz rynkowych
(39.90 zł najniższa cena z 30 dni)147.94 zł
269.00 zł(-45%) -
Czy zastanawiasz się czasem nad tym, jak to możliwe, że jesteśmy w stanie „rozmawiać” z maszynami? Że coś mówimy, a one nas rozumieją i odpowiadają na nasze pytania, realizują polecenia, wykonują zadania? I na odwrót – to one mówią (i piszą) do nas słowami, które są dla nas jasn...
NLP. Kurs video. Analiza danych tekstowych w języku Python NLP. Kurs video. Analiza danych tekstowych w języku Python
(39.90 zł najniższa cena z 30 dni)74.50 zł
149.00 zł(-50%) -
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykłada...
Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
(46.20 zł najniższa cena z 30 dni)50.05 zł
77.00 zł(-35%) -
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięk...
Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II
(77.40 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Język Python został ostatnio sklasyfikowany w indeksie TIOBE jako najpopularniejszy obecnie język programowania, co zawdzięcza szerokim możliwościom stosowania go w projektowaniu, prototypowaniu, testach, wdrażaniu i konserwacji oprogramowania. To zaktualizowane i rozszerzone czwarte wydanie poka...
Python w pigułce. Podręczny przewodnik po wersjach 3.10 i 3.11 Python w pigułce. Podręczny przewodnik po wersjach 3.10 i 3.11
Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire
(96.33 zł najniższa cena z 30 dni)152.10 zł
169.00 zł(-10%) -
To trzecie, zaktualizowane i uzupełnione wydanie bestsellerowego podręcznika programowania w Pythonie. Naukę rozpoczniesz od podstawowych koncepcji programowania. Poznasz takie pojęcia jak zmienne, listy, klasy i pętle, a następnie utrwalisz je dzięki praktycznym ćwiczeniom. Dowiesz się, jak zape...(71.40 zł najniższa cena z 30 dni)
77.35 zł
119.00 zł(-35%) -
Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń gen...
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%)
Ebooka "Robust Python" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Robust Python" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Robust Python" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-10-981-0061-2, 9781098100612
- Data wydania ebooka:
- 2021-07-12 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 5.1MB
- Rozmiar pliku Mobi:
- 13.8MB
Spis treści ebooka
- Preface
- Who Should Read This Book
- About This Book
- Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- 1. Introduction to Robust Python
- Robustness
- Why Does Robustness Matter?
- Robustness
- Whats Your Intent?
- Asynchronous Communication
- Examples of Intent in Python
- Collections
- Iteration
- Law of Least Surprise
- Closing Thoughts
- I. Annotating Your Code with Types
- 2. Introduction to Python Types
- Whats in a Type?
- Mechanical Representation
- Semantic Representation
- Whats in a Type?
- Typing Systems
- Strong Versus Weak
- Dynamic Versus Static
- Duck Typing
- Closing Thoughts
- 3. Type Annotations
- What Are Type Annotations?
- Benefits of Type Annotations
- Autocomplete
- Typecheckers
- Exercise: Spot the Bug
- When to Use Type Annotations
- Closing Thoughts
- 4. Constraining Types
- Optional Type
- Union Types
- Product and Sum Types
- Literal Types
- Annotated Types
- NewType
- Final Types
- Closing Thoughts
- 5. Collection Types
- Annotating Collections
- Homogeneous Versus Heterogeneous Collections
- TypedDict
- Creating New Collections
- Generics
- Modifying Existing Types
- As Easy as ABC
- Closing Thoughts
- 6. Customizing Your Typechecker
- Configuring Your Typechecker
- Configuring mypy
- Catching dynamic behavior
- Requiring types
- Handling None/Optional
- Configuring mypy
- Mypy Reporting
- Speeding Up mypy
- Configuring Your Typechecker
- Alternative Typecheckers
- Pyre
- Codebase querying
- Python Static Analyzer (Pysa)
- Pyre
- Pyright
- Closing Thoughts
- 7. Adopting Typechecking Practically
- Trade-offs
- Breaking Even Earlier
- Find Your Pain Points
- Target Code Strategically
- Type annotate new code only
- Type annotate from the bottom up
- Type annotate your moneymakers
- Type annotate the churners
- Type annotate the complex
- Lean on Your Tooling
- MonkeyType
- Pytype
- Closing Thoughts
- II. Defining Your Own Types
- 8. User-Defined Types: Enums
- User-Defined Types
- Enumerations
- Enum
- When Not to Use
- Advanced Usage
- Automatic Values
- Flags
- Integer Conversion
- Unique
- Closing Thoughts
- 9. User-Defined Types: Data Classes
- Data Classes in Action
- Usage
- String Conversion
- Equality
- Relational Comparison
- Immutability
- Comparison to Other Types
- Data Classes Versus Dictionaries
- Data Classes Versus TypedDict
- Data Classes Versus namedtuple
- Closing Thoughts
- 10. User-Defined Types: Classes
- Class Anatomy
- Constructors
- Class Anatomy
- Invariants
- Avoiding Broken Invariants
- Why Are Invariants Beneficial?
- Communicating Invariants
- Consuming Your Class
- What About Maintainers?
- Encapsulation and Maintaining Invariants
- Encapsul-what, Now?
- Protecting Data Access
- Operations
- Closing Thoughts
- 11. Defining Your Interfaces
- Natural Interface Design
- Thinking Like a User
- Test-driven development
- README-driven development
- Usability testing
- Thinking Like a User
- Natural Interface Design
- Natural Interactions
- Natural Interfaces in Action
- Magic Methods
- Context Managers
- Closing Thoughts
- 12. Subtyping
- Inheritance
- Substitutability
- Design Considerations
- Composition
- Closing Thoughts
- 13. Protocols
- Tension Between Typing Systems
- Leave the Type Blank or Use Any
- Use a Union
- Use Inheritance
- Use Mixins
- Tension Between Typing Systems
- Protocols
- Defining a Protocol
- Advanced Usage
- Composite Protocols
- Runtime Checkable Protocols
- Modules Satisfying Protocols
- Closing Thoughts
- 14. Runtime Checking With pydantic
- Dynamic Configuration
- pydantic
- Validators
- Validation Versus Parsing
- Closing Thoughts
- III. Extensible Python
- 15. Extensibility
- What Is Extensibility?
- The Redesign
- What Is Extensibility?
- Open-Closed Principle
- Detecting OCP Violations
- Drawbacks
- Closing Thoughts
- 16. Dependencies
- Relationships
- Types of Dependencies
- Physical Dependencies
- Logical Dependencies
- Temporal Dependencies
- Visualizing Your Dependencies
- Visualizing Packages
- Visualizing Imports
- Visualizing Function Calls
- Interpreting Your Dependency Graph
- Closing Thoughts
- 17. Composability
- Composability
- Policy Versus Mechanisms
- Composing on a Smaller Scale
- Composing Functions
- Decorators
- Composing Functions
- Composing Algorithms
- Closing Thoughts
- 18. Event-Driven Architecture
- How It Works
- Drawbacks
- How It Works
- Simple Events
- Using a Message Broker
- The Observer Pattern
- Streaming Events
- Closing Thoughts
- 19. Pluggable Python
- The Template Method Pattern
- The Strategy Pattern
- Plug-in Architectures
- Closing Thoughts
- IV. Building a Safety Net
- 20. Static Analysis
- Linting
- Writing Your Own Pylint Plug-in
- Breaking Down the Plug-in
- Linting
- Other Static Analyzers
- Complexity Checkers
- Cyclomatic complexity with mccabe
- Whitespace heuristic
- Complexity Checkers
- Security Analysis
- Leaking secrets
- Security flaw checking
- Closing Thoughts
- 21. Testing Strategy
- Defining Your Test Strategy
- What Is a Test?
- The testing pyramid
- What Is a Test?
- Defining Your Test Strategy
- Reducing Test Cost
- AAA Testing
- Arrange
- Consistent preconditions versus changing preconditions
- Use test framework features for boilerplate code
- Mocking
- Arrange
- Annihilate
- Dont use shared resources
- Use context managers
- Use fixtures
- AAA Testing
- Act
- Assert
- Closing Thoughts
- 22. Acceptance Testing
- Behavior-Driven Development
- The Gherkin Language
- Executable Specifications
- Behavior-Driven Development
- Additional behave Features
- Parameterized Steps
- Table-Driven Requirements
- Step Matching
- Customizing the Test Life Cycle
- Using Tags to Selectively Run Tests
- Report Generation
- Closing Thoughts
- 23. Property-Based Testing
- Property-Based Testing with Hypothesis
- The Magic of Hypothesis
- Contrast with Traditional Tests
- Property-Based Testing with Hypothesis
- Getting the Most Out of Hypothesis
- Hypothesis Strategies
- Generating Algorithms
- Closing Thoughts
- 24. Mutation Testing
- What Is Mutation Testing?
- Mutation Testing with mutmut
- Fixing Mutants
- Mutation Testing Reports
- Adopting Mutation Testing
- The Fallacy of Coverage (and Other Metrics)
- Closing Thoughts
- Index
O'Reilly Media - inne książki
-
Software as a service (SaaS) is on the path to becoming the de facto model for building, delivering, and operating software solutions. Adopting a multi-tenant SaaS model requires builders to take on a broad range of new architecture, implementation, and operational challenges. How data is partiti...(237.15 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Great engineers don't necessarily make great leaders—at least, not without a lot of work. Finding your path to becoming a strong leader is often fraught with challenges. It's not easy to figure out how to be strategic, successful, and considerate while also being firm. Whether you're on the...(118.15 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
Data science happens in code. The ability to write reproducible, robust, scaleable code is key to a data science project's success—and is absolutely essential for those working with production code. This practical book bridges the gap between data science and software engineering,and clearl...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
With the massive adoption of microservices, operators and developers face far more complexity in their applications today. Service meshes can help you manage this problem by providing a unified control plane to secure, manage, and monitor your entire network. This practical guide shows you how th...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Get practical advice on how to leverage AI development tools for all stages of code creation, including requirements, planning, design, coding, debugging, testing, and documentation. With this book, beginners and experienced developers alike will learn how to use a wide range of tools, from gener...(177.65 zł najniższa cena z 30 dni)
164.25 zł
219.00 zł(-25%) -
Rust's popularity is growing, due in part to features like memory safety, type safety, and thread safety. But these same elements can also make learning Rust a challenge, even for experienced programmers. This practical guide helps you make the transition to writing idiomatic Rust—while als...(177.65 zł najniższa cena z 30 dni)
164.25 zł
219.00 zł(-25%) -
Advance your Power BI skills by adding AI to your repertoire at a practice level. With this practical book, business-oriented software engineers and developers will learn the terminologies, practices, and strategy necessary to successfully incorporate AI into your business intelligence estate. Je...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Microservices can be a very effective approach for delivering value to your organization and to your customers. If you get them right, microservices help you to move fast by making changes to small parts of your system hundreds of times a day. But if you get them wrong, microservices will just ma...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
169.14 zł
199.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Robust Python Patrick Viafore (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.