Language
  • Python 3
Reading time
  • Approximately 63 days
What you will learn
  • Advanced Python Concepts
  • Database
  • Web Development
Author
  • Steven F. Lott
Published
  • 3¬†years, 5¬†months ago
Book cover of Mastering Object-oriented Python by Steven F. Lott

Official description

Key Features

  • Create applications with flexible logging, powerful configuration and command-line options, automated unit tests, and good documentation
  • Use the Python special methods to integrate seamlessly with built-in features and the standard library
  • Design classes to support object persistence in JSON, YAML, Pickle, CSV, XML, Shelve, and SQL

Book Description

An object-oriented approach to Python web development gives you a much more fully-realised experience of the language. The flexibility and power of Python, combined with the improvements in design, coding and software maintenance that object-oriented programming allows, is built to respond to the challenges of increasingly more complex and data-intensive application development, making difficult tasks much more manageable. This book has been designed to make this sophisticated approach to programming easier to learn quickly, providing you with a clear and coherent learning journey.

Beginning by looking at a range of design patterns for the _init_() method, you will learn how to effectively use a range of Python s special methods to create classes that integrate with Python s built-in features, and find detailed explorations and demonstrations of callables and contexts, containers and collections, numbers, and decorators and mixins, with a focus on best practices for effective and successful design. The book also features information that demonstrates how to create persistent objects using JSON, YAML, Pickle, CSV, XML, Shelve and SQL and shows you how to transmit objects between processes. Going further into OOP, you ll find expert information on logging, warnings, unit testing as well as working with the command line.

Structured in 3 parts to make the complexity of OOP more manageable - Pythonic Classes via Special Methods, Persistence and Serialization and Testing, Debugging, Deploying, and Maintaining this book offers deep insight into OOP that will help you develop expert level object-oriented Python skills.

What you will learn

  • Create applications with flexible logging, powerful configuration and command-line options, automated unit tests, and good documentation
  • Get to grips with different design patterns for the __init__() method
  • Design callable objects and context managers
  • Perform object serialization in formats such as JSON, YAML, Pickle, CSV, and XML
  • Map Python objects to a SQL database using the built-in SQLite module
  • Transmit Python objects via RESTful web services
  • Devise strategies for automated unit testing, including how to use the doctest and the unittest.mock module
  • Parse command-line arguments and integrate this with configuration files and environment variables

About the Author

Steven F. Lott has been programming since the 70s, when computers were large, expensive, and rare. As a contract software developer and architect, he has worked on hundreds of projects, from very small to very large. He's been using Python to solve business problems for over 10 years.

Table of Contents

  1. The _init_() Method
  2. Integrating Seamlessly with Basic Python Special Methods
  3. Attribute Access, Properties, and Descriptors
  4. The ABCs of Consistent Design
  5. Using Callables and Contexts
  6. Creating Contrainers and Collections
  7. Creating Numbers
  8. Decorators and Mixins: Cross-Cutting Aspects
  9. Serializing and Saving JSON, YAML, Pickle, CSV, and XML
  10. Storing and Retrieving Objects via Shelve
  11. Storing and Retrieving Objects via SQLite
  12. Transmitting and Sharing Objects
  13. Configuration Files and Persistence
  14. The Logging and Warning Modules
  15. Designing for Testability
  16. Coping with the Command Line</

Reviews

Write a review

Read this book? Comment on this book's GitHub issue page and share what you liked and what you didn't like about it. Your GitHub comment will show up as a review here. See an example.