The Well-Grounded Python Developer
Doug Farrell
  • MEAP began February 2020
  • Publication in Summer 2021 (estimated)
  • ISBN 9781617297441
  • 375 pages (estimated)
  • printed in black & white
When you’re new to Python, it can be tough to understand where and how to use its many language features. There’s a dizzying array of libraries, and it’s challenging to fit everything together. The Well-Grounded Python Developer builds on Python skills you’ve learned in isolation and shows you how to unify them into a meaningful whole. As you work through this practical guide, you’ll discover how all the bits of the Python ecosystem connect as you build and modify a typical web server application.

About the Technology

Python is the perfect language for beginning programmers. It is easy to learn, with tons of helpful libraries and tools. Better still, it doesn’t run out of steam when you want to create more advanced applications for web development or machine learning. Once you’ve mastered the syntax of simple Python scripts, it can be a challenge to progress to more ambitious projects. This book helps you on that path.

About the book

The Well-Grounded Python Developer teaches you how to write real software in Python by building on the basic language skills you already have. Veteran developer Doug Farrell helps you see the big picture you can create out of small pieces, introducing concepts like modular construction, APIs, and the design of a basic web server. Throughout the book, you’ll practice your skills by building a blogging platform—the kind of web app that’s in high demand by modern businesses. When you’re finished, you’ll have gone from having a basic understanding of Python's syntax, grammar, and libraries to using them as the tools of a professional software developer.
Table of Contents detailed table of contents

1 Becoming a Pythonista

1.1 Who is the intended audience?

1.2 Being a developer

1.2.1 Solving Problems

1.2.2 Process

1.2.3 Your Customers

1.2.4 Commitment to Learning

1.3 Reaching goals

1.3.1 Thinking like a developer

1.3.2 Building Applications

1.4 Using Python

1.4.1 The Syntax

1.4.2 Variables

1.4.3 Programming Paradigms

1.4.4 Creating Maintainable Code

1.4.5 The Language Community

1.4.6 The Developer Tooling

1.4.7 Performance

1.5 Version of Python to use

1.6 Summary

2 Your Python Environment

2.1 Installing Python

2.1.1 Windows

2.1.2 Mac

2.1.3 Linux

2.2 Python Virtual Environment

2.2.1 Windows

2.2.2 Mac and Linux

2.3 Setting up Visual Studio Code

2.3.1 Installing Visual Studio Code

2.3.2 Installing Python Extension

2.3.3 Other Useful Extensions

2.3.4 Starting From the Command Line

2.3.5 Starting a Project

2.4 Some Advice

2.5 Summary

3 Names and Namespaces

3.1 Names

3.1.1 Naming Things

3.1.2 Naming Experiment

3.2 Namespaces

3.3 Python Namespaces

3.3.1 BuiltIns Level

3.3.2 Module Level

3.3.3 Function Level

3.3.4 Namespace Scope

3.3.5 Namespace Experiment

3.4 Summary

4 Application Programming Interface

4.1 Application Programmers Interface

4.1.1 A Contract Between Pieces Of Code

4.1.2 What’s Passed As Input

4.1.3 What’s Expected As Output

4.2 Function API

4.2.1 Naming

4.2.2 Arguments

4.2.3 Return Value

4.2.4 Single Responsibility

4.2.5 Function Length

4.2.6 Idempotent

4.2.7 Side Effects

4.3 Documentation

4.4 Summary

5 Object-Oriented Coding

5.1 Object-oriented

5.1.1 Class Definition

5.1.2 Drawing With Class

5.1.3 Inheritance

5.1.4 Polymorphism

5.1.5 Composition

5.2 Summary

6 Exception Handling

6.1 Exceptions

6.2 Handling Exceptions

6.2.1 Handle An Exception If The Code Can Do Something About It

6.2.2 Allow Exceptions To Flow Upward In Your Programs

6.2.3 Never Silence An Exception

6.3 Raising An Exception

6.4 Creating Your Own Exceptions

6.5 Summary

7 Web Servers

8 Your First Web Server

9 Your Second Web Server

10 REST: An API Convention

11 Your Third Web Server

12 Persisting Data

13 Persisting the Mini-Blog to a Database

14 Your Fourth Web Server

15 Thinking Big Picture

16 Conclusion

What's inside

  • Building modules of functionality
  • Creating a well-constructed web server application
  • Using REST to present data dynamically to a user
  • Refactor and decoupling systems to help scale them
  • How to think about the big picture of your application

About the reader

For beginner developers who have learned the basics of Python.

About the author

Doug Farrell has been developing software since 1983, and has worked with Python for over 20 years.

placing your order...

Don't refresh or navigate away from the page.
Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
print book $24.99 $49.99 pBook + eBook + liveBook
Additional shipping charges may apply
The Well-Grounded Python Developer (print book) added to cart
continue shopping
go to cart

eBook $39.99 3 formats + liveBook
The Well-Grounded Python Developer (eBook) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.
customers also reading

This book

FREE domestic shipping on three or more pBooks