Core Python Programming, 2/e (Paperback)

Wesley J Chun

  • 出版商: Prentice Hall
  • 出版日期: 2006-09-28
  • 售價: $2,300
  • 貴賓價: 9.5$2,185
  • 語言: 英文
  • 頁數: 1136
  • 裝訂: Paperback
  • ISBN: 0132269937
  • ISBN-13: 9780132269933
  • 相關分類: Python程式語言
  • 已過版

買這商品的人也買了...

商品描述

Description

Praise for Core Python Programming

"The long-awaited second edition of Wesley Chun's Core Python Programming proves to be well worth the wait—its deep and broad coverage and useful exercises will help readers learn and practice good Python."

—Alex Martelli, author of Python in a Nutshell and editor of Python Cookbook

"There has been lot of good buzz around Wesley Chun's Core Python Programming. It turns out that all the buzz is well earned. I think this is the best book currently available for learning Python. I would recommend Chun's book over Learning Python (O'Reilly), Programming Python (O'Reilly), or The Quick Python Book (Manning)."

—David Mertz, Ph.D., IBM DeveloperWorks®

"I have been doing a lot of research [on] Python for the past year and have seen a number of positive reviews of your book. The sentiment expressed confirms the opinion that Core Python Programming is now considered the standard introductory text."

—Richard Ozaki, Lockheed Martin

"Finally, a book good enough to be both a textbook and a reference on the Python language now exists."

—Michael Baxter, Linux Journal

"Very well written. It is the clearest, friendliest book I have come across yet for explaining Python, and putting it in a wider context. It does not presume a large amount of other experience. It does go into some important Python topics carefully and in depth. Unlike too many beginner books, it never condescends or tortures the reader with childish hide-and-seek prose games. [It] sticks to gaining a solid grasp of Python syntax and structure."

—http://python.org bookstore Web site

"[If ] I could only own one Python book, it would be Core Python Programming by Wesley Chun. This book manages to cover more topics in more depth than Learning Python but includes it all in one book that also more than adequately covers the core language. [If] you are in the market for just one book about Python, I recommend this book. You will enjoy reading it, including its wry programmer's wit. More importantly, you will learn Python. Even more importantly, you will find it invaluable in helping you in your day-to-day Python programming life. Well done, Mr. Chun!"

—Ron Stephens, Python Learning Foundation

"I think the best language for beginners is Python, without a doubt. My favorite book is Core Python Programming."

—s003apr, MP3Car.com Forums

"Personally, I really like Python. It's simple to learn, completely intuitive, amazingly flexible, and pretty darned fast. Python has only just started to claim mindshare in the Windows world, but look for it to start gaining lots of support as people discover it. To learn Python, I'd start with Core Python Programming by Wesley Chun."

—Bill Boswell, MCSE, Microsoft Certified Professional Magazine Online

"If you learn well from books, I suggest Core Python Programming. It is by far the best I've found. I'm a Python newbie as well and in three months time I've been able to implement Python in projects at work (automating MSOffice, SQL DB stuff, etc.)."

—ptonman, Dev Shed Forums

"Python is simply a beautiful language. It's easy to learn, it's cross-platform, and it works. It has achieved many of the technical goals that Java strives for. A one-sentence description of Python would be: 'All other languages appear to have evolved over time--but Python was designed.' And it was designed well. Unfortunately, there aren't a large number of books for Python. The best one I've run across so far is Core Python Programming."

—Chris Timmons, C. R. Timmons Consulting

"If you like the Prentice Hall Core series, another good full-blown treatment to consider would be Core Python Programming. It addresses in elaborate concrete detail many practical topics that get little, if any, coverage in other books."

—Mitchell L Model, MLM Consulting

"Core Python Programming is an amazingly easy read! The liberal use of examples helps clarify some of the more subtle points of the language. And the comparisons to languages with which I'm already familiar (C/C++/Java) get you programming in record speed."

—Michael Santos, Ph.D., Green Hills Software

The Complete Developer's Guide to Python—Fully Updated for Python 2.5

  • 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 advanced topics such as regular expressions, networking, multithreading, GUI, and Web/CGI
  • Includes brand-new chapters on database, Internet, Jython, and COM Client programming
  • Presents hundreds of code samples 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.5 as well as capabilities set for future versions. 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

Core Python Programming delivers

  • Systematic, expert coverage of Python's core features
  • Powerful insights for developing complex applications
  • Easy-to-use tables and charts detailing Python modules, operators, functions, and methods
  • Dozens of professional-quality code examples, from quick snippets to full-fledged applications

 

Table of Contents

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