Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Erik Westra
Modular Programming with Python
Modular Programming with Python
Table of Contents
Modular Programming with Python
Credits
About the Author
About the Reviewer
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Introducing Modular Programming
Introducing Python modules
Introducing Python packages
Using modules and packages to organize a program
Why use modular programming techniques?
Programming as a process
The Python Standard Library
Creating your first module
Caching
Writing a cache module
Using the cache
Summary
2. Writing Your First Modular Program
The inventory control system
Designing the inventory control system
The data storage module
The user interface module
The report generator module
The main program
Implementing the inventory control system
Implementing the data storage module
Implementing the user interface module
Implementing the report generator module
Implementing the main program
Summary
3. Using Modules and Packages
Modules and packages
Packages within packages
Initializing a module
Initialization functions
Initializing a package
How to import anything
What does the import statement actually do?
Using the import statement
Relative imports
Controlling what gets imported
Circular dependencies
Running modules from the command line
Summary
4. Using Modules for Real-World Programming
Introducing Charter
Designing Charter
Implementing Charter
Implementing the chart.py module
Implementing the generator.py module
The Pillow library
Renderers
Testing the code
Rendering the title
Rendering the x axis
The remaining renderers
Testing Charter
The fly in the ointment – changing requirements
Redesigning Charter
Refactoring the code
Implementing the PDF renderer modules
Testing the code
Lessons learned
Summary
5. Working with Module Patterns
Divide and conquer
Abstraction
Encapsulation
Wrappers
Extensible modules
Dynamic imports
Plugins
Hooks
Summary
6. Creating Reusable Modules
Using modules and packages to share your code
What makes a module reusable?
Functioning as a standalone unit
Using relative imports
Noting external dependencies
What makes a good reusable module?
Solving a general problem
Following standard conventions
Having clear documentation
Examples of reusable modules
requests
python-dateutil
lxml
Designing a reusable package
Implementing a reusable package
Testing our reusable package
Summary
7. Advanced Module Techniques
Optional imports
Local imports
Tweaking imports using sys.path
Import gotchas
Using an existing name for your module or package
Naming a Python script after a module or package
Adding package directories to sys.path
Executing and importing the same module
Using modules and packages with the Python interactive interpreter
Dealing with global variables
Package configuration
Package data
Summary
8. Testing and Deploying Modules
Testing modules and packages
Testing with the unittest Standard Library module
Designing your unit tests
Code coverage
Test-driven development
Mocking
Writing unit tests for your modules and packages
Preparing a module or package for publication
Uploading your work to GitHub
Submitting to the Python Package Index
Using pip to download and install modules and packages
Summary
9. Modular Programming as a Foundation for Good Programming Technique
The process of programming
The inevitable changes
Change management
Dealing with complexity
Being an effective programmer
Summary
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Table of Contents
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset