Thinking in Python by Bruce Eckel

pjacotg1 pts0 comments

Thinking in Python

Bruce Eckel

Thinking in Python

Insights, Idioms and Patterns

01Introduction

Part I · Foundations

02Tour

03Containers

04Control Flow

05Functions

06Modules and Packages

07Classes

08Static Typing

09Class Attributes

10Cleanup

Part II · Techniques

11Testing

12Data Classes as Types

13Pattern Matching

14Decorators

15Context Managers

16Comprehensions

17Metaprogramming

18Performance

19Concurrency

Part III · Patterns

20Rethinking Objects

21The Pattern Concept

22Data Transfer Objects

23Iterators

24Singleton

25Template Method

26Surrogate

27Factory

28Function Objects

29Changing the Interface

30Observer

31State Machines

32Multiple Dispatching

33Visitor

34Composite and Interpreter

35Flyweight

36Memento

37Pattern Refactoring

38Simulation

39Pattern Catalog

Part IV · Functional Programming

40Foundations

41Toolkits

42Error Handling

43Assurance

Part V · Effects

44Effect Management

45Generators

46Stateless

47Stateless in Practice

© 2026 Bruce Eckel. Licensed CC BY-NC-ND 4.0.<br>Freely readable online. No reproduction without permission.

Book Examples & Exercise Solutions on GitHub

part middot thinking python bruce eckel

Related Articles