Programming in Python 3 A Complete Introduction to the Python Language

  • ISBN13:


  • ISBN10:


  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2009-11-12
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.99 Save up to $7.50
  • Buy New
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


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, object oriented, 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.

“…Fulfills the immediate market need for those developers seeking to learn this latest evolutionary version of the Python lineage in a succinct, well-written package.”–Mike Riley, Contributing Editor for Dr. Dobb’s

“Beyond the introduction to programming in Python 3 in the first chapter, if you progress through the first six chapters in sequence, you’ll be well on your way to taking off with using Python independently.”–James Pyles, Technical Writer and Author of the blog “A Million Chimpanzees”

Author Biography

Mark Summerfield, owner of Qtrac Ltd., is an independent trainer, consultant, technical editor, and writer specializing in Python, C++, Qt, and PyQt. His books include Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming (Addison-Wesley, 2008) and, cowritten with Jasmin Blanchette, C++ GUI Programming with Qt 4 (Addison-Wesley, 2006). As Trolltech’s documentation manager, Mark founded and edited Trolltech’s technical journal, Qt Quarterly.

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

Rewards Program

Customer Reviews

Wonderful book April 12, 2011
Mark Summerfield's text: "Programming in Python 3" is a very good introduction to the Python programming language for people with prior programming experience in another language. I came to Python from Mat Lab and prior to that, C and Fortran. So I'm pleased with the textbook and find myself referring back to it quite often. It has been fully revised to include new material on debugging, testing, string formatting and more, and is a 'must' for any programmer's library strong in Python programming. From creating custom packages to writing and reading binary, text and XML files, this comes packed with keys to successful Python programming.
Flag Review
Please provide a brief explanation for why you are flagging this review:
Your submission has been received. We will inspect this review as soon as possible. Thank you for your input!
Programming in Python 3 A Complete Introduction to the Python Language: 5 out of 5 stars based on 1 user reviews.

Write a Review