Home > Store

Programming in Python 3: A Complete Introduction to the Python Language, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

Programming in Python 3: A Complete Introduction to the Python Language, 2nd Edition


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2010
  • Dimensions: 7" x 9"
  • Pages: 648
  • Edition: 2nd
  • Book
  • ISBN-10: 0-321-68056-1
  • ISBN-13: 978-0-321-68056-3

A Fully Revised Edition Featuring New Material on Coroutines, Debugging, Testing, Parsing, String Formatting, and More

Python 3 is the best version of the language yet: It is more powerful, convenient, consistent, and expressive than ever before. Now, leading Python programmer Mark Summerfield demonstrates how to write code that takes full advantage of Python 3’s features and idioms. Programming in Python 3, Second Edition, brings together all the knowledge you need to write any program, use any standard or third-party Python 3 library, and create new library modules of your own.

Summerfield draws on his many years of Python experience to share deep insights into Python 3 development you won’t find anywhere else. He begins by illuminating Python’s “beautiful heart”: the eight key elements of Python you need to write robust, high-performance programs. Building on these core elements, he introduces new topics designed to strengthen your practical expertise–one concept and hands-on example at a time. Coverage includes

  • Developing in Python using procedural, objectoriented, and functional programming paradigms
  • Creating custom packages and modules
  • Writing and reading binary, text, and XML files, including optional compression, random access, and text and XML parsing
  • Leveraging advanced data types, collections, control structures, and functions
  • Spreading program workloads across multiple processes and threads
  • Programming SQL databases and key—value DBM files
  • Debugging techniques–and using Test Driven Development to avoid bugs in the first place
  • Utilizing Python’s regular expression mini-language and module
  • Parsing techniques, including how to use the third-party PyParsing and PLY modules
  • Building usable, efficient, GUI-based applications
  • Advanced programming techniques, including generators, function and class decorators, context managers, descriptors, abstract base classes, metaclasses, coroutines, and more

Programming in Python 3, Second Edition, serves as both tutorial and language reference. It assumes some prior programming experience, and it is accompanied by extensive downloadable example code–all of it tested with Python 3 on Windows, Linux, and Mac OS X.


Author's Site

Please visit the author's web site at qtrac.eu/py3book.html.

Sample Content

Online Sample Chapter

Regular Expressions in Python 3

Sample Pages

Download the sample pages (includes Chapter 13 and Index)

Table of Contents

List of Tables xv

Introduction 1

Chapter 1: Rapid Introduction to Procedural Programming 9

Creating and Running Python Programs 9

Python’s “Beautiful Heart” 14

Examples 39

Summary 44

Exercises 47

Chapter 2: Data Types 51

Identifiers and Keywords 51

Integral Types 54

Floating-Point Types 58

Strings 65

Examples 94

Summary 102

Exercises 104

Chapter 3: Collection Data Types 107

Sequence Types 107

Set Types 120

Mapping Types 126

Iterating and Copying Collections 138

Examples 148

Summary 156

Exercises 158

Chapter 4: Control Structures and Functions 159

Control Structures 159

Exception Handling 163

Custom Functions 171

Example: make_html_skeleton.py 185

Summary 191

Exercise 192

Chapter 5: Modules 195

Modules and Packages 195

Overview of Python’s Standard Library 212

Summary 230

Exercise 231

Chapter 6: Object-Oriented Programming 233

The Object-Oriented Approach 234

Custom Classes 238

Custom Collection Classes 261

Summary 283

Exercises 285

Chapter 7: File Handling 287

Writing and Reading Binary Data 292

Writing and Parsing Text Files 305

Writing and Parsing XML Files 312

Random Access Binary Files 324

Summary 336

Exercises 337

Chapter 8: Advanced Programming Techniques 339

Further Procedural Programming 340

Further Object-Oriented Programming 363

Functional-Style Programming 395

Example: Valid.py 407

Summary 410

Exercises 411

Chapter 9: Debugging, Testing, and Profiling 413

Debugging 414

Unit Testing 425

Profiling 432

Summary 437

Chapter 10: Processes and Threading 439

Using the Multiprocessing Module 440

Using the Threading Module 444

Summary 454

Exercises 455

Chapter 11: Networking 457

Creating a TCP Client 458

Creating a TCP Server 464

Summary 471

Exercises 471

Chapter 12: Database Programming 475

DBM Databases 476

SQL Databases 480

Summary 487

Exercise 488

Chapter 13: Regular Expressions 489

Python’s Regular Expression Language 490

The Regular Expression Module 499

Summary 509

Exercises 510

Chapter 14: Introduction to Parsing 513

BNF Syntax and Parsing Terminology 514

Writing Handcrafted Parsers 519

Pythonic Parsing with PyParsing 534

Lex/Yacc-Style Parsing with PLY 553

Summary 566

Exercise 568

Chapter 15: Introduction to GUI Programming 569

Dialog-Style Programs 572

Main-Window-Style Programs 578

Summary 593

Exercises 593

Epilogue 595

Selected Bibliography 597

Index 599


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership