Differences between revisions 6 and 7
Revision 6 as of 2004-08-19 23:21:08
Size: 10316
Editor: Zoom.Quiet
Comment: Wiki小工具
Revision 7 as of 2004-08-19 23:29:16
Size: 10371
Editor: Zoom.Quiet
Comment: zhDiveIntoPyTemplate
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:

''建议使用 zhDiveIntoPyTemplate 文章模板!''

深入Python 5.4 版本,中文翻译!

建议使用 zhDiveIntoPyTemplate 文章模板!

-- Zoom.Quiet [DateTime(2004-08-19T21:52:55Z)] TableOfContents

Dive Into Python

20 May 2004

Copyright © 2000, 2001, 2002, 2003, 2004 Mark Pilgrim

This book lives at http://diveintopython.org/. If you're reading it somewhere else, you may not have the latest version.

Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in Appendix G, GNU Free Documentation License.

The example programs in this book are free software; you can redistribute and/or modify them under the terms of the Python license as published by the Python Software Foundation. A copy of the license is included in Appendix H, Python license.

章节索引

Installing Python

  • ["/1."] Installing Python
  • ["/1.1."] Which Python is right for you?
  • ["/1.2."] Python on Windows
  • ["/1.3."] Python on Mac OS X
  • ["/1.4."] Python on Mac OS 9
  • ["/1.5."] Python on RedHat Linux

  • ["/1.6."] Python on Debian GNU/Linux
  • ["/1.7."] Python Installation from Source
  • ["/1.8."] The Interactive Shell
  • ["/1.9."] Summary

Your First Python Program

  • ["/2."] Your First Python Program
  • ["/2.1."] Diving in
  • ["/2.2."] Declaring Functions
  • ["/2.2.1."] How Python's Datatypes Compare to Other Programming Languages
  • ["/2.3."] Documenting Functions
  • ["/2.4."] Everything Is an Object
  • ["/2.4.1."] The Import Search Path
  • ["/2.4.2."] What's an Object?
  • ["/2.5."] Indenting Code
  • ["/2.6."] Testing Modules

Native Datatypes

  • ["/3."] Native Datatypes
  • ["/3.1."] Introducing Dictionaries
  • ["/3.1.1."] Defining Dictionaries
  • ["/3.1.2."] Modifying Dictionaries
  • ["/3.1.3."] Deleting Items From Dictionaries
  • ["/3.2."] Introducing Lists
  • ["/3.2.1."] Defining Lists
  • ["/3.2.2."] Adding Elements to Lists
  • ["/3.2.3."] Searching Lists
  • ["/3.2.4."] Deleting List Elements
  • ["/3.2.5."] Using List Operators
  • ["/3.3."] Introducing Tuples
  • ["/3.4."] Declaring variables
  • ["/3.4.1."] Referencing Variables
  • ["/3.4.2."] Assigning Multiple Values at Once
  • ["/3.5."] Formatting Strings
  • ["/3.6."] Mapping Lists
  • ["/3.7."] Joining Lists and Splitting Strings
  • ["/3.7.1."] Historical Note on String Methods
  • ["/3.8."] Summary

The Power Of Introspection

  • ["/4."] The Power Of Introspection
  • ["/4.1."] Diving In
  • ["/4.2."] Using Optional and Named Arguments
  • ["/4.3."] Using type, str, dir, and Other Built-In Functions
  • ["/4.3.1."] The type Function
  • ["/4.3.2."] The str Function
  • ["/4.3.3."] Built-In Functions
  • ["/4.4."] Getting Object References With getattr
  • ["/4.4.1."] getattr with Modules
  • ["/4.4.2."] getattr As a Dispatcher
  • ["/4.5."] Filtering Lists
  • ["/4.6."] The Peculiar Nature of and and or
  • ["/4.6.1."] Using the and-or Trick
  • ["/4.7."] Using lambda Functions
  • ["/4.7.1."] Real-World lambda Functions
  • ["/4.8."] Putting It All Together
  • ["/4.9."] Summary

Objects and Object-Orientation

  • ["/5."] Objects and Object-Orientation
  • ["/5.1."] Diving In
  • ["/5.2."] Importing Modules Using from module import
  • ["/5.3."] Defining Classes
  • ["/5.3.1."] Initializing and Coding Classes
  • ["/5.3.2."] Knowing When to Use self and init

  • ["/5.4."] Instantiating Classes
  • ["/5.4.1."] Garbage Collection
  • ["/5.5."] Exploring UserDict: A Wrapper Class

  • ["/5.6."] Special Class Methods
  • ["/5.6.1."] Getting and Setting Items
  • ["/5.7."] Advanced Special Class Methods
  • ["/5.8."] Introducing Class Attributes
  • ["/5.9."] Private Functions
  • ["/5.10."] Summary

Exceptions and File Handling

  • ["/6."] Exceptions and File Handling
  • ["/6.1."] Handling Exceptions
  • ["/6.1.1."] Using Exceptions For Other Purposes
  • ["/6.2."] Working with File Objects
  • ["/6.2.1."] Reading Files
  • ["/6.2.2."] Closing Files
  • ["/6.2.3."] Handling I/O Errors
  • ["/6.2.4."] Writing to Files
  • ["/6.3."] Iterating with for Loops
  • ["/6.4."] Using sys.modules
  • ["/6.5."] Working with Directories
  • ["/6.6."] Putting It All Together
  • ["/6.7."] Summary

Regular Expressions

  • ["/7."] Regular Expressions
  • ["/7.1."] Diving In
  • ["/7.2."] Case Study: Street Addresses
  • ["/7.3."] Case Study: Roman Numerals
  • ["/7.3.1."] Checking for Thousands
  • ["/7.3.2."] Checking for Hundreds
  • ["/7.4."] Using the {n,m} Syntax
  • ["/7.4.1."] Checking for Tens and Ones
  • ["/7.5."] Verbose Regular Expressions
  • ["/7.6."] Case study: Parsing Phone Numbers
  • ["/7.7."] Summary

HTML Processing

  • ["/8."] HTML Processing
  • ["/8.1."] Diving in
  • ["/8.2."] Introducing sgmllib.py
  • ["/8.3."] Extracting data from HTML documents
  • ["/8.4."] Introducing BaseHTMLProcessor.py
  • ["/8.5."] locals and globals
  • ["/8.6."] Dictionary-based string formatting
  • ["/8.7."] Quoting attribute values
  • ["/8.8."] Introducing dialect.py
  • ["/8.9."] Putting it all together
  • ["/8.10."] Summary

XML Processing

  • ["/9."] XML Processing
  • ["/9.1."] Diving in
  • ["/9.2."] Packages
  • ["/9.3."] Parsing XML
  • ["/9.4."] Unicode
  • ["/9.5."] Searching for elements
  • ["/9.6."] Accessing element attributes
  • ["/9.7."] Segue

Scripts and Streams

  • ["/10."] Scripts and Streams
  • ["/10.1."] Abstracting input sources
  • ["/10.2."] Standard input, output, and error
  • ["/10.3."] Caching node lookups
  • ["/10.4."] Finding direct children of a node
  • ["/10.5."] Creating separate handlers by node type
  • ["/10.6."] Handling command-line arguments
  • ["/10.7."] Putting it all together
  • ["/10.8."] Summary

HTTP Web Services

  • ["/11."] HTTP Web Services
  • ["/11.1."] Diving in
  • ["/11.2."] How not to fetch data over HTTP
  • ["/11.3."] Features of HTTP
  • ["/11.3.1."] User-Agent
  • ["/11.3.2."] Redirects
  • ["/11.3.3."] Last-Modified/If-Modified-Since
  • ["/11.3.4."] ETag/If-None-Match
  • ["/11.3.5."] Compression
  • ["/11.4."] Debugging HTTP web services
  • ["/11.5."] Setting the User-Agent
  • ["/11.6."] Handling Last-Modified and ETag
  • ["/11.7."] Handling redirects
  • ["/11.8."] Handling compressed data
  • ["/11.9."] Putting it all together
  • ["/11.10."] Summary

SOAP Web Services

  • ["/12."] SOAP Web Services
  • ["/12.1."] Diving In
  • ["/12.2."] Installing the SOAP Libraries
  • ["/12.2.1."] Installing PyXML
  • ["/12.2.2."] Installing fpconst
  • ["/12.2.3."] Installing SOAPpy
  • ["/12.3."] First Steps with SOAP
  • ["/12.4."] Debugging SOAP Web Services
  • ["/12.5."] Introducing WSDL
  • ["/12.6."] Introspecting SOAP Web Services with WSDL
  • ["/12.7."] Searching Google
  • ["/12.8."] Troubleshooting SOAP Web Services
  • ["/12.9."] Summary

Unit Testing

  • ["/13."] Unit Testing
  • ["/13.1."] Introduction to Roman numerals
  • ["/13.2."] Diving in
  • ["/13.3."] Introducing romantest.py
  • ["/13.4."] Testing for success
  • ["/13.5."] Testing for failure
  • ["/13.6."] Testing for sanity

Test-First Programming

  • ["/14."] Test-First Programming
  • ["/14.1."] roman.py, stage 1
  • ["/14.2."] roman.py, stage 2
  • ["/14.3."] roman.py, stage 3
  • ["/14.4."] roman.py, stage 4
  • ["/14.5."] roman.py, stage 5

Refactoring

  • ["/15."] Refactoring
  • ["/15.1."] Handling bugs
  • ["/15.2."] Handling changing requirements
  • ["/15.3."] Refactoring
  • ["/15.4."] Postscript
  • ["/15.5."] Summary

Functional Programming

  • ["/16."] Functional Programming
  • ["/16.1."] Diving in
  • ["/16.2."] Finding the path
  • ["/16.3."] Filtering lists revisited
  • ["/16.4."] Mapping lists revisited
  • ["/16.5."] Data-centric programming
  • ["/16.6."] Dynamically importing modules
  • ["/16.7."] Putting it all together
  • ["/16.8."] Summary

Dynamic functions

  • ["/17."] Dynamic functions
  • ["/17.1."] Diving in
  • ["/17.2."] plural.py, stage 1
  • ["/17.3."] plural.py, stage 2
  • ["/17.4."] plural.py, stage 3
  • ["/17.5."] plural.py, stage 4
  • ["/17.6."] plural.py, stage 5
  • ["/17.7."] plural.py, stage 6
  • ["/17.8."] Summary

Performance Tuning

  • ["/18."] Performance Tuning
  • ["/18.1."] Diving in
  • ["/18.2."] Using the timeit Module
  • ["/18.3."] Optimizing Regular Expressions
  • ["/18.4."] Optimizing Dictionary Lookups
  • ["/18.5."] Optimizing List Operations
  • ["/18.6."] Optimizing String Manipulation

Summary

  • ["/18.7."] Summary
  • ["/A."] Further reading
  • ["/B."] A 5-minute review
  • ["/C."] Tips and tricks
  • ["/D."] List of examples
  • ["/E."] Revision history
  • ["/F."] About the book
  • ["/G."] GNU Free Documentation License
  • ["/G.0."] Preamble
  • ["/G.1."] Applicability and definitions
  • ["/G.2."] Verbatim copying
  • ["/G.3."] Copying in quantity
  • ["/G.4."] Modifications
  • ["/G.5."] Combining documents
  • ["/G.6."] Collections of documents
  • ["/G.7."] Aggregation with independent works
  • ["/G.8."] Translation
  • ["/G.9."] Termination
  • ["/G.10."] Future revisions of this license
  • ["/G.11."] How to use this License for your documents
  • ["/H."] Python license
  • ["/H.A."] History of the software
  • ["/H.B."] Terms and conditions for accessing or otherwise using Python
  • ["/H.B.1."] PSF license agreement
  • ["/H.B.2."] BeOpen Python open source license agreement version 1

  • ["/H.B.3."] CNRI open source GPL-compatible license agreement
  • ["/H.B.4."] CWI permissions statement and disclaimer

Wiki小工具

  • 手工加 Wiki 的页面声明太 SB 了!
  • Python 来帮忙!

f=open("DinPy",'r')
s=f.read()
#print s
import re
def wikiName(matchobj):
    return " * [\"/%s\"] "%matchobj.group(0)[:-1]
    
key = re.compile(r"(^\w[.|0-9a-zA-Z]+?)\s",re.M)
r=re.sub(key,wikiName,s)
print r
open("DinPy.wiki",'w').write(r)

zhDiveIntoPython (last edited 2009-12-25 07:18:54 by localhost)