
Practices of the Python Pro
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Organizing large Python projects
- Achieving the right levels of abstraction
- Writing clean, reusable code Inheritance and composition
- Considerations for testing and performance
More details
Other editions
Additional editions

Person
Content
- Intro
- Copyright
- Brief Table of Contents
- Table of Contents
- Preface
- Acknowledgments
- About this book
- About the Author
- About the cover illustration
- Part 1. Why it all matters
- Chapter 1. The bigger picture
- 1.1. Python is an enterprise language
- 1.2. Python is a teaching language
- 1.3. Design is a process
- 1.4. Design enables better software
- 1.5. When to invest in design
- 1.6. New beginnings
- 1.7. Design is democratic
- 1.8. How to use this book
- Summary
- Part 2. Foundations of design
- Chapter 2. Separation of concerns
- 2.1. Namespacing
- 2.2. The hierarchy of separation in Python
- Summary
- Chapter 3. Abstraction and encapsulation
- 3.1. What is abstraction?
- 3.2. Encapsulation
- 3.3. Try it out
- 3.4. Programming styles are an abstraction too
- 3.5. Typing, inheritance, and polymorphism
- 3.6. Recognizing the wrong abstraction
- Summary
- Chapter 4. Designing for high performance
- 4.1. Hurtling through time and space
- 4.2. Performance and data types
- 4.3. Make it work, make it right, make it fast
- 4.4. Tools
- 4.5. Try it out
- Summary
- Chapter 5. Testing your software
- 5.1. What is software testing?
- 5.2. Functional testing approaches
- 5.3. Statements of fact
- 5.4. Unit testing with unittest
- 5.5. Testing with pytest
- 5.6. Beyond functional testing
- 5.7. Test-driven development: A primer
- Summary
- Part 3. Nailing down large systems
- Chapter 6. Separation of concerns in practice
- 6.1. A command-line bookmarking application
- 6.2. A tour of Bark
- 6.3. An initial code structure, by concern
- Summary
- Chapter 7. Extensibility and flexibility
- 7.1. What is extensible code?
- 7.2. Solutions for rigidity
- 7.3. An exercise in extension
- Summary
- Chapter 8. The rules (and exceptions) of inheritance
- 8.1. The inheritance of programming past
- 8.2. The inheritance of programming present
- 8.3. Inheritance in Python
- 8.4. Inheritance and composition in Bark
- Summary
- Chapter 9. Keeping things lightweight
- 9.1. How big should my class/function/module be?
- 9.2. Breaking down complexity
- 9.3. Decomposing classes
- Summary
- Chapter 10. Achieving loose coupling
- 10.1. Defining coupling
- 10.2. Recognizing coupling
- 10.3. Coupling in Bark
- 10.4. Addressing coupling
- Summary
- Part 4. What's next?
- Chapter 11. Onward and upward
- 11.1. What now?
- 11.2. Design patterns
- 11.3. Distributed systems
- 11.4. Take a Python deep dive
- 11.5. Where you've been
- Summary
- Appendix Installing Python
- A.1 What version of Python should I use?
- A.2 The "system" Python
- A.3 Installing other versions of Python
- A.4 Verifying the installation
- Index
- List of Figures
- List of Listings
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.