Praise for Core Python Programming
The Complete Developer's Guide to Python
New to Python? The definitive guide to Python development for experienced programmers
Covers core language features thoroughly, including those found in the latest Python releases–learn more than just the syntax!
Learn advanced topics such as regular expressions, networking, multithreading, GUI, Web/CGI, and Python extensions
Includes brand-new material on databases, Internet clients, Java/Jython, and Microsoft Office, plus Python 2.6 and 3
Presents hundreds of code snippets, interactive examples, and practical exercises to strengthen your Python skills
Python is an agile, robust, expressive, fully object-oriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. In Core Python Programming, Second Edition, leading Python developer and trainer Wesley Chun helps you learn Python quickly and comprehensively so that you can immediately succeed with any Python project.
Using practical code examples, Chun introduces all the fundamentals of Python programming: syntax, objects and memory management, data types, operators, files and I/O, functions, generators, error handling and exceptions, loops, iterators, functional programming, object-oriented programming and more. After you learn the core fundamentals of Python, he shows you what you can do with your new skills, delving into advanced topics, such as regular expressions, networking programming with sockets, multithreading, GUI development, Web/CGI programming and extending Python in C.
This edition reflects major enhancements in the Python 2.x series, including 2.6 and tips for migrating to 3. It contains new chapters on database and Internet client programming, plus coverage of many new topics, including new-style classes, Java and Jython, Microsoft Office (Win32 COM Client) programming, and much more.
Learn professional Python style, best practices, and good programming habits
Gain a deep understanding of Python's objects and memory model as well as its OOP features, including those found in Python's new-style classes
Build more effective Web, CGI, Internet, and network and other client/server applications
Learn how to develop your own GUI applications using Tkinter and other toolkits available for Python
Improve the performance of your Python applications by writing extensions in C and other languages, or enhance I/O-bound applications by using multithreading
Learn about Python's database API and how to use a variety of database systems with Python, including MySQL, Postgres, and SQLite
Features appendices on Python 2.6 & 3, including tips on migrating to the next generation!
Praise for Core Python Programming
The Complete Developer's Guide to Python
New to Python? The definitive guide to Python development for experienced programmers
Covers core language features thoroughly, including those found in the latest Python releases–learn more than just the syntax!
Learn advanced topics such as regular expressions, networking, multithreading, GUI, Web/CGI, and Python extensions
Includes brand-new material on databases, Internet clients, Java/Jython, and Microsoft Office, plus Python 2.6 and 3
Presents hundreds of code snippets, interactive examples, and practical exercises to strengthen your Python skills
Python is an agile, robust, expressive, fully object-oriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. In Core Python Programming, Second Edition, leading Python developer and trainer Wesley Chun helps you learn Python quickly and comprehensively so that you can immediately succeed with any Python project.
Using practical code examples, Chun introduces all the fundamentals of Python programming: syntax, objects and memory management, data types, operators, files and I/O, functions, generators, error handling and exceptions, loops, iterators, functional programming, object-oriented programming and more. After you learn the core fundamentals of Python, he shows you what you can do with your new skills, delving into advanced topics, such as regular expressions, networking programming with sockets, multithreading, GUI development, Web/CGI programming and extending Python in C.
This edition reflects major enhancements in the Python 2.x series, including 2.6 and tips for migrating to 3. It contains new chapters on database and Internet client programming, plus coverage of many new topics, including new-style classes, Java and Jython, Microsoft Office (Win32 COM Client) programming, and much more.
Learn professional Python style, best practices, and good programming habits
Gain a deep understanding of Python's objects and memory model as well as its OOP features, including those found in Python's new-style classes
Build more effective Web, CGI, Internet, and network and other client/server applications
Learn how to develop your own GUI applications using Tkinter and other toolkits available for Python
Improve the performance of your Python applications by writing extensions in C and other languages, or enhance I/O-bound applications by using multithreading
Learn about Python's database API and how to use a variety of database systems with Python, including MySQL, Postgres, and SQLite
Features appendices on Python 2.6 & 3, including tips on migrating to the next generation!
Preface xxiii Acknowledgments xxxv Part I: Core Python 2 Chapter 1
Welcome to Python! 4 1.1 What Is Python? 5
1.2 Origins 6
1.3 Features 6
1.4 Downloading and Installing Python 11
1.5 Running Python 13
1.6 Python Documentation 22
1.7 Comparing Python 23
1.8 Other Implementations 26
1.9 Exercises 27
Chapter 2 Getting Started 30 2.1 Program Output, the print
Statement, and "Hello World!" 32
2.2 Program Input and the raw_input() Built-in Function 33
2.3 Comments 35
2.4 Operators 35
2.5 Variables and Assignment 37
2.6 Numbers 37
2.7 Strings 39
2.8 Lists and Tuples 40
2.9 Dictionaries 40
2.10 Code Blocks Use Indentation 41
2.11 if Statement 41
2.12 while Loop 42
2.13 for Loop and the range() Built-in Function 43
2.14 List Comprehensions 45
2.15 Files and the open() and file() Built-in Functions 46
2.16 Errors and Exceptions 47
2.17 Functions 48
2.18 Classes 50
2.19 Modules 52
2.20 Useful Functions 54
2.21 Exercises 55
Chapter 3 Python Basics 60 3.1 Statements and Syntax 61
3.2 Variable Assignment 64
3.3 Identifiers 67
3.4 Basic Style Guidelines 69
3.5 Memory Management 75
3.6 First Python Programs 79
3.7 Related Modules/Developer Tools 84
3.8 Exercises 85
Chapter 4 Python Objects 88 4.1 Python Objects 89
4.2 Other Built-in Types 91
4.3 Internal Types 93
4.4 Standard Type Operators 96
4.5 Standard Type Built-in Functions 101
4.6 Categorizing the Standard Types 111
4.7 Unsupported Types 116
4.8 Exercises 117
Chapter 5 Numbers 120 5.1 Introduction to Numbers 121
5.2 Integers 122
5.3 Double Precision Floating Point Numbers 125
5.4 Complex Numbers 126
5.5 Operators 127
5.6 Built-in and Factory Functions 136
5.7 Other Numeric Types 145
5.8 Related Modules 148
5.9 Exercises 151
Chapter 6 Sequences: Strings, Lists, and Tuples 156 6.1 Sequences
158
6.2 Strings 168
6.3 Strings and Operators 170
6.4 String-Only Operators 178
6.5 Built-in Functions 184
6.6 String Built-in Methods 188
6.7 Special Features of Strings 192
6.8 Unicode 197
6.9 Related Modules 206
6.10 Summary of String Highlights 208
6.11 Lists 209
6.12 Operators 211
6.13 Built-in Functions 216
6.14 List Type Built-in Methods 220
6.15 Special Features of Lists 224
6.16 Tuples 232
6.17 Tuple Operators and Built-in Functions 233
6.18 Special Features of Tuples 235
6.19 Related Modules 239
6.20 *Copying Python Objects and Shallow and Deep Copies 240
6.21 Summary of Sequences 243
6.22 Exercises 246
Chapter 7 Mapping and Set Types 252 7.1 Mapping Type: Dictionaries
253
7.2 Mapping Type Operators 258
7.3 Mapping Type Built-in and Factory Functions 260
7.4 Mapping Type Built-in Methods 265
7.5 Dictionary Keys 268
7.6 Set Types 273
7.7 Set Type Operators 276
7.8 Built-in Functions 280
7.9 Set Type Built-in Methods 281
7.10 Operator, Function/Method Summary Table for Set Types 283
7.11 Related Modules 283
7.12 Exercises 285
Chapter 8 Conditionals and Loops 290 8.1 if Statement 291
8.2 else Statement 292
8.3 elif (aka else-if) Statement 294
8.4 Conditional Expressions (aka "the Ternary Operator") 295
8.5 while Statement 296
8.6 for Statement 298
8.7 break Statement 304
8.8 continue Statement 305
8.9 pass Statement 306
8.10 else Statement . . . Take Two 307
8.11 Iterators and the iter() Function 309
8.12 List Comprehensions 313
8.13 Generator Expressions 315
8.14 Related Modules 320
8.15 Exercises 320
Chapter 9 Files and Input/Output 324 9.1 File Objects 325
9.2 File Built-in Functions [open() and file()] 326
9.3 File Built-in Methods 329
9.4 File Built-in Attributes 336
9.5 Standard Files 337
9.6 Command-Line Arguments 338
9.7 File System 339
9.8 File Execution 348
9.9 Persistent Storage Modules 348
9.10 Related Modules 351
9.11 Exercises 353
Chapter 10 Errors and Exceptions 358 10.1 What Are Exceptions?
360
10.2 Exceptions in Python 361
10.3 Detecting and Handling Exceptions 364
10.4 Context Management 382
10.5 *Exceptions as Strings 386
10.6 Raising Exceptions 386
10.7 Assertions 389
10.8 Standard Exceptions 391
10.9 *Creating Exceptions 394
10.10 Why Exceptions (Now)? 401
10.11 Why Exceptions at All? 402
10.12 Exceptions and the sys Module 403
10.13 Related Modules 404
10.14 Exercises 405
Chapter 11 Functions and Functional Programming 408 11.1 What Are
Functions? 408
11.2 Calling Functions 409
11.3 Creating Functions 412
11.4 Passing Functions 418
11.5 Formal Arguments 428
11.6 Variable-Length Arguments 433
11.7 Functional Programming 439
11.8 Variable Scope 453
11.9 Recursion 466
11.10 Generators 467
11.11 Exercises 471
Chapter 12 Modules 476 12.1 What Are Modules? 477
12.2 Modules and Files 478
12.3 Namespaces 480
12.4 Importing Modules 484
12.5 Features of Module Import 486
12.6 Module Built-in Functions 491
12.7 Packages 493
12.8 Other Features of Modules 496
12.9 Related Modules 500
12.10 Exercises 501
Chapter 13 Object-Oriented Programming 504 13.1 Introduction
506
13.2 Object-Oriented Programming 514
13.3 Classes 518
13.4 Class Attributes 520
13.5 Instances 526
13.6 Instance Attributes 531
13.7 Binding and Method Invocation 540
13.8 Static Methods and Class Methods 542
13.9 Composition 544
13.10 Subclassing and Derivation 545
13.11 Inheritance 547
13.12 Built-in Functions for Classes, Instances, and Other Objects
558
13.13 Customizing Classes with Special Methods 564
13.14 Privacy 585
13.15 *Delegation 587
13.16 Advanced Features of New-Style Classes (Python 2.2+) 595
13.17 Related Modules and Documentation 615
13.18 Exercises 618
Chapter 14 Execution Environment 626 14.1 Callable Objects 628
14.2 Code Objects 635
14.3 Executable Object Statements and Built-in Functions 636
14.4 Executing Other (Python) Programs 649
14.5 Executing Other (Non-Python) Programs 653
14.6 Restricted Execution 663
14.7 Terminating Execution 663
14.8 Miscellaneous Operating System Interface 666
14.9 Related Modules 668
14.10 Exercises 668
Part II: Advanced Topics 670 Chapter 15 Regular Expressions 672
15.1 Introduction/Motivation 673
15.2 Special Symbols and Characters 676
15.3 REs and Python 683
15.4 Regular Expressions Example 698
15.5 Exercises 705
Chapter 16 Network Programming 710 16.1 Introduction 711
16.2 Sockets: Communication Endpoints 715
16.3 Network Programming in Python 718
16.4 *SocketServer Module 732
16.5* Introduction to the Twisted Framework 737
16.6 Related Modules 741
16.7 Exercises 742
Chapter 17 Internet Client Programming 746 17.1 What Are Internet
Clients? 747
17.2 Transferring Files 748
17.3 Network News 756
17.4 Electronic Mail 766
17.5 Related Modules 778
17.6 Exercises 779
Chapter 18 Multithreaded Programming 786 18.1
Introduction/Motivation 787
18.2 Threads and Processes 789
18.3 Python, Threads, and the Global Interpreter Lock 790
18.4 thread Module 795
18.5 threading Module 800
18.6 Related Modules 814
18.7 Exercises 814
Chapter 19 GUI Programming 818 19.1 Introduction 819
19.2 Tkinter and Python Programming 821
19.3 Tkinter Examples 826
19.4 Brief Tour of Other GUIs 840
19.5 Related Modules and Other GUIs 848
19.6 Exercises 851
Chapter 20 Web Programming 854 20.1 Introduction 855
20.2 Web Surfing with Python: Creating Simple Web Clients 859
20.3 Advanced Web Clients 869
20.4 CGI: Helping Web Servers Process Client Data 875
20.5 Building CGI Applications 878
20.6 Using Unicode with CGI 892
20.7 Advanced CGI 894
20.8 Web (HTTP) Servers 906
20.9 Related Modules 909
20.10 Exercises 913
Chapter 21 Database Programming 918 21.1 Introduction 919
21.2 Python Database Application Programmer's Interface (DB-API)
924
21.3 Object-Relational Managers (ORMs) 946
21.4 Related Modules 958
21.5 Exercises 960
Chapter 22 Extending Python 962 22.1 Introduction/Motivation
963
22.2 Extending Python by Writing Extensions 965
22.3 Related Topics 981
22.4 Exercises 982
Chapter 23 Miscellaneous 984 23.1 Web Services 985
23.2 Programming Microsoft Office with Win32 COM 989
23.3 Python and Java Programming with Jython 1002
23.4 Exercises 1006
Appendix A Answers to Selected Exercises 1011 Appendix B Reference
Tables 1021 Index 1049
Wesley J. Chun, MSCS, is the author of Python Fundamentals, a companion video to Core Python Programming, and the coauthor of Python Web Development with Django. In addition to being a senior software architect, he runs CyberWeb (cyberwebconsulting.com), a consulting business specializing in Python software engineering and technical training. He has more than twenty-five years of programming, teaching, and writing experience, including more than a decade with Python. While at Yahoo!, he helped create Yahoo!Mail and Yahoo! People Search using Python. He holds degrees in computer science, mathematics, and music from the University of California.
![]() |
Ask a Question About this Product More... |
![]() |