Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
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
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.
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