- 1. Whetting Your Appetite
2. Using the Python Interpreter
3. An Informal Introduction to Python
4. More Control Flow Tools
5. Data Structures
6. Modules
7. Input and Output
8. Errors and Exceptions
9. Classes
10. Brief Tour of the Standard Library
- 10.1. Operating System Interface
- 10.2. File Wildcards
- 10.3. Command Line Arguments
- 10.4. Error Output Redirection and Program Termination
- 10.5. String Pattern Matching
- 10.6. Mathematics
- 10.7. Internet Access
- 10.8. Dates and Times
- 10.9. Data Compression
- 10.10. Performance Measurement
- 10.11. Quality Control
- 10.12. Batteries Included
11. Brief Tour of the Standard Library – Part II
- 12. What Now?
13. Interactive Input Editing and History Substitution
14. Floating Point Arithmetic: Issues and Limitations
15. Appendix
1. Introduction
2. Lexical analysis
3. Data model
4. Execution model
5. The import system
6. Expressions
- 6.1. Arithmetic conversions
- 6.2. Atoms
- 6.3. Primaries
- 6.4. The power operator
- 6.5. Unary arithmetic and bitwise operations
- 6.6. Binary arithmetic operations
- 6.7. Shifting operations
- 6.8. Binary bitwise operations
- 6.9. Comparisons
- 6.10. Boolean operations
- 6.11. Conditional expressions
- 6.12. Lambdas
- 6.13. Expression lists
- 6.14. Evaluation order
- 6.15. Operator precedence
7. Simple statements
- 7.1. Expression statements
- 7.2. Assignment statements
- 7.3. The assert statement
- 7.4. The pass statement
- 7.5. The del statement
- 7.6. The return statement
- 7.7. The yield statement
- 7.8. The raise statement
- 7.9. The break statement
- 7.10. The continue statement
- 7.11. The import statement
- 7.12. The global statement
- 7.13. The nonlocal statement
8. Compound statements
9. Top-level components
- 10. Full Grammar specification
- 1. Introduction
- 2. Built-in Functions
3. Built-in Constants
4. Built-in Types
- 4.1. Truth Value Testing
- 4.2. Boolean Operations — and, or, not
- 4.3. Comparisons
- 4.4. Numeric Types — int, float, complex
- 4.5. Iterator Types
- 4.6. Sequence Types — list, tuple, range
- 4.7. Text Sequence Type — str
- 4.8. Binary Sequence Types — bytes, bytearray, memoryview
- 4.9. Set Types — set, frozenset
- 4.10. Mapping Types — dict
- 4.11. Context Manager Types
- 4.12. Other Built-in Types
- 4.13. Special Attributes
5. Built-in Exceptions
6. Text Processing Services
- 6.1. string — Common string operations
- 6.2. re — Regular expression operations
- 6.3. difflib — Helpers for computing deltas
- 6.4. textwrap — Text wrapping and filling
- 6.5. unicodedata — Unicode Database
- 6.6. stringprep — Internet String Preparation
- 6.7. readline — GNU readline interface
- 6.8. rlcompleter — Completion function for GNU readline
7. Binary Data Services
8. Data Types
- 8.1. datetime — Basic date and time types
- 8.2. calendar — General calendar-related functions
- 8.3. collections — Container datatypes
- 8.4. collections.abc — Abstract Base Classes for Containers
- 8.5. heapq — Heap queue algorithm
- 8.6. bisect — Array bisection algorithm
- 8.7. array — Efficient arrays of numeric values
- 8.8. weakref — Weak references
- 8.9. types — Dynamic type creation and names for built-in types
- 8.10. copy — Shallow and deep copy operations
- 8.11. pprint — Data pretty printer
- 8.12. reprlib — Alternate repr() implementation
- 8.13. enum — Support for enumerations
9. Numeric and Mathematical Modules
- 9.1. numbers — Numeric abstract base classes
- 9.2. math — Mathematical functions
- 9.3. cmath — Mathematical functions for complex numbers
- 9.4. decimal — Decimal fixed point and floating point arithmetic
- 9.5. fractions — Rational numbers
- 9.6. random — Generate pseudo-random numbers
- 9.7. statistics — Mathematical statistics functions
10. Functional Programming Modules
11. File and Directory Access
- 11.1. pathlib — Object-oriented filesystem paths
- 11.2. os.path — Common pathname manipulations
- 11.3. fileinput — Iterate over lines from multiple input streams
- 11.4. stat — Interpreting stat() results
- 11.5. filecmp — File and Directory Comparisons
- 11.6. tempfile — Generate temporary files and directories
- 11.7. glob — Unix style pathname pattern expansion
- 11.8. fnmatch — Unix filename pattern matching
- 11.9. linecache — Random access to text lines
- 11.10. shutil — High-level file operations
- 11.11. macpath — Mac OS 9 path manipulation functions
12. Data Persistence
13. Data Compression and Archiving
14. File Formats
15. Cryptographic Services
16. Generic Operating System Services
- 16.1. os — Miscellaneous operating system interfaces
- 16.2. io — Core tools for working with streams
- 16.3. time — Time access and conversions
- 16.4. argparse — Parser for command-line options, arguments and sub-commands
- 16.5. optparse — Parser for command line options
- 16.6. getopt — C-style parser for command line options
- 16.7. logging — Logging facility for Python
- 16.8. logging.config — Logging configuration
- 16.9. logging.handlers — Logging handlers
- 16.10. getpass — Portable password input
- 16.11. curses — Terminal handling for character-cell displays
- 16.12. curses.textpad — Text input widget for curses programs
- 16.13. curses.ascii — Utilities for ASCII characters
- 16.14. curses.panel — A panel stack extension for curses
- 16.15. platform — Access to underlying platform’s identifying data
- 16.16. errno — Standard errno system symbols
- 16.17. ctypes — A foreign function library for Python
17. Concurrent Execution
- 17.1. threading — Thread-based parallelism
- 17.2. multiprocessing — Process-based parallelism
- 17.3. The concurrent package
- 17.4. concurrent.futures — Launching parallel tasks
- 17.5. subprocess — Subprocess management
- 17.6. sched — Event scheduler
- 17.7. queue — A synchronized queue class
- 17.8. dummy_threading — Drop-in replacement for the threading module
- 17.9. _thread — Low-level threading API
- 17.10. _dummy_thread — Drop-in replacement for the _thread module
18. Interprocess Communication and Networking
- 18.1. socket — Low-level networking interface
- 18.2. ssl — TLS/SSL wrapper for socket objects
- 18.3. select — Waiting for I/O completion
- 18.4. selectors – High-level I/O multiplexing
- 18.5. asyncio – Asynchronous I/O, event loop, coroutines and tasks
- 18.6. asyncore — Asynchronous socket handler
- 18.7. asynchat — Asynchronous socket command/response handler
- 18.8. signal — Set handlers for asynchronous events
- 18.9. mmap — Memory-mapped file support
19. Internet Data Handling
- 19.1. email — An email and MIME handling package
- 19.2. json — JSON encoder and decoder
- 19.3. mailcap — Mailcap file handling
- 19.4. mailbox — Manipulate mailboxes in various formats
- 19.5. mimetypes — Map filenames to MIME types
- 19.6. base64 — Base16, Base32, Base64, Base85 Data Encodings
- 19.7. binhex — Encode and decode binhex4 files
- 19.8. binascii — Convert between binary and ASCII
- 19.9. quopri — Encode and decode MIME quoted-printable data
- 19.10. uu — Encode and decode uuencode files
20. Structured Markup Processing Tools
- 20.1. html — HyperText Markup Language support
- 20.2. html.parser — Simple HTML and XHTML parser
- 20.3. html.entities — Definitions of HTML general entities
- 20.4. XML Processing Modules
- 20.5. xml.etree.ElementTree — The ElementTree XML API
- 20.6. xml.dom — The Document Object Model API
- 20.7. xml.dom.minidom — Minimal DOM implementation
- 20.8. xml.dom.pulldom — Support for building partial DOM trees
- 20.9. xml.sax — Support for SAX2 parsers
- 20.10. xml.sax.handler — Base classes for SAX handlers
- 20.11. xml.sax.saxutils — SAX Utilities
- 20.12. xml.sax.xmlreader — Interface for XML parsers
- 20.13. xml.parsers.expat — Fast XML parsing using Expat
21. Internet Protocols and Support
- 21.1. webbrowser — Convenient Web-browser controller
- 21.2. cgi — Common Gateway Interface support
- 21.3. cgitb — Traceback manager for CGI scripts
- 21.4. wsgiref — WSGI Utilities and Reference Implementation
- 21.5. urllib — URL handling modules
- 21.6. urllib.request — Extensible library for opening URLs
- 21.7. urllib.response — Response classes used by urllib
- 21.8. urllib.parse — Parse URLs into components
- 21.9. urllib.error — Exception classes raised by urllib.request
- 21.10. urllib.robotparser — Parser for robots.txt
- 21.11. http — HTTP modules
- 21.12. http.client — HTTP protocol client
- 21.13. ftplib — FTP protocol client
- 21.14. poplib — POP3 protocol client
- 21.15. imaplib — IMAP4 protocol client
- 21.16. nntplib — NNTP protocol client
- 21.17. smtplib — SMTP protocol client
- 21.18. smtpd — SMTP Server
- 21.19. telnetlib — Telnet client
- 21.20. uuid — UUID objects according to RFC 4122
- 21.21. socketserver — A framework for network servers
- 21.22. http.server — HTTP servers
- 21.23. http.cookies — HTTP state management
- 21.24. http.cookiejar — Cookie handling for HTTP clients
- 21.25. xmlrpc — XMLRPC server and client modules
- 21.26. xmlrpc.client — XML-RPC client access
- 21.27. xmlrpc.server — Basic XML-RPC servers
- 21.28. ipaddress — IPv4/IPv6 manipulation library
22. Multimedia Services
- 22.1. audioop — Manipulate raw audio data
- 22.2. aifc — Read and write AIFF and AIFC files
- 22.3. sunau — Read and write Sun AU files
- 22.4. wave — Read and write WAV files
- 22.5. chunk — Read IFF chunked data
- 22.6. colorsys — Conversions between color systems
- 22.7. imghdr — Determine the type of an image
- 22.8. sndhdr — Determine type of sound file
- 22.9. ossaudiodev — Access to OSS-compatible audio devices
23. Internationalization
24. Program Frameworks
25. Graphical User Interfaces with Tk
26. Development Tools
- 26.1. pydoc — Documentation generator and online help system
- 26.2. doctest — Test interactive Python examples
- 26.3. unittest — Unit testing framework
- 26.4. unittest.mock — mock object library
- 26.5. unittest.mock — getting started
- 26.6. 2to3 - Automated Python 2 to 3 code translation
- 26.7. test — Regression tests package for Python
- 26.8. test.support — Utilities for the Python test suite
27. Debugging and Profiling
- 27.1. bdb — Debugger framework
- 27.2. faulthandler — Dump the Python traceback
- 27.3. pdb — The Python Debugger
- 27.4. The Python Profilers
- 27.5. timeit — Measure execution time of small code snippets
- 27.6. trace — Trace or track Python statement execution
- 27.7. tracemalloc — Trace memory allocations
- 27.8. Examples
- 27.9. API
28. Software Packaging and Distribution
29. Python Runtime Services
- 29.1. sys — System-specific parameters and functions
- 29.2. sysconfig — Provide access to Python’s configuration information
- 29.3. builtins — Built-in objects
- 29.4. __main__ — Top-level script environment
- 29.5. warnings — Warning control
- 29.6. contextlib — Utilities for with-statement contexts
- 29.7. abc — Abstract Base Classes
- 29.8. atexit — Exit handlers
- 29.9. traceback — Print or retrieve a stack traceback
- 29.10. __future__ — Future statement definitions
- 29.11. gc — Garbage Collector interface
- 29.12. inspect — Inspect live objects
- 29.13. site — Site-specific configuration hook
- 29.14. fpectl — Floating point exception control
30. Custom Python Interpreters
31. Importing Modules
32. Python Language Services
- 32.1. parser — Access Python parse trees
- 32.2. ast — Abstract Syntax Trees
- 32.3. symtable — Access to the compiler’s symbol tables
- 32.4. symbol — Constants used with Python parse trees
- 32.5. token — Constants used with Python parse trees
- 32.6. keyword — Testing for Python keywords
- 32.7. tokenize — Tokenizer for Python source
- 32.8. tabnanny — Detection of ambiguous indentation
- 32.9. pyclbr — Python class browser support
- 32.10. py_compile — Compile Python source files
- 32.11. compileall — Byte-compile Python libraries
- 32.12. dis — Disassembler for Python bytecode
- 32.13. pickletools — Tools for pickle developers
33. Miscellaneous Services
34. MS Windows Specific Services
35. Unix Specific Services
- 35.1. posix — The most common POSIX system calls
- 35.2. pwd — The password database
- 35.3. spwd — The shadow password database
- 35.4. grp — The group database
- 35.5. crypt — Function to check Unix passwords
- 35.6. termios — POSIX style tty control
- 35.7. tty — Terminal control functions
- 35.8. pty — Pseudo-terminal utilities
- 35.9. fcntl — The fcntl and ioctl system calls
- 35.10. pipes — Interface to shell pipelines
- 35.11. resource — Resource usage information
- 35.12. nis — Interface to Sun’s NIS (Yellow Pages)
- 35.13. syslog — Unix syslog library routines
36. Undocumented Modules
1. Extending Python with C or C++
- 1.1. A Simple Example
- 1.2. Intermezzo: Errors and Exceptions
- 1.3. Back to the Example
- 1.4. The Module’s Method Table and Initialization Function
- 1.5. Compilation and Linkage
- 1.6. Calling Python Functions from C
- 1.7. Extracting Parameters in Extension Functions
- 1.8. Keyword Parameters for Extension Functions
- 1.9. Building Arbitrary Values
- 1.10. Reference Counts
- 1.11. Writing Extensions in C++
- 1.12. Providing a C API for an Extension Module
2. Defining New Types
3. Building C and C++ Extensions with distutils
4. Building C and C++ Extensions on Windows
- __future__
- __main__
- _dummy_thread
- _thread
- abc
- aifc
- argparse
- array
- ast
- asynchat
- asyncio
- asyncore
- atexit
- audioop
- base64
- bdb
- binascii
- binhex
- bisect
- builtins
- bz2
- calendar
- cgi
- cgitb
- chunk
- cmath
- cmd
- code
- codecs
- codeop
- collections
- collections.abc
- colorsys
- compileall
- concurrent.futures
- configparser
- contextlib
- copy
- copyreg
- cProfile
- crypt (Unix)
- csv
- ctypes
- curses (Unix)
- curses.ascii
- curses.panel
- curses.textpad
- datetime
- dbm
- dbm.dumb
- dbm.gnu (Unix)
- dbm.ndbm (Unix)
- decimal
- difflib
- dis
- distutils
- distutils.archive_util
- distutils.bcppcompiler
- distutils.ccompiler
- distutils.cmd
- distutils.command
- distutils.command.bdist
- distutils.command.bdist_dumb
- distutils.command.bdist_msi
- distutils.command.bdist_packager
- distutils.command.bdist_rpm
- distutils.command.bdist_wininst
- distutils.command.build
- distutils.command.build_clib
- distutils.command.build_ext
- distutils.command.build_py
- distutils.command.build_scripts
- distutils.command.check
- distutils.command.clean
- distutils.command.config
- distutils.command.install
- distutils.command.install_data
- distutils.command.install_headers
- distutils.command.install_lib
- distutils.command.install_scripts
- distutils.command.register
- distutils.command.sdist
- distutils.core
- distutils.cygwinccompiler
- distutils.debug
- distutils.dep_util
- distutils.dir_util
- distutils.dist
- distutils.errors
- distutils.extension
- distutils.fancy_getopt
- distutils.file_util
- distutils.filelist
- distutils.log
- distutils.msvccompiler
- distutils.spawn
- distutils.sysconfig
- distutils.text_file
- distutils.unixccompiler
- distutils.util
- distutils.version
- doctest
- dummy_threading
- email.charset
- email.contentmanager
- email.encoders
- email.errors
- email.generator
- email.header
- email.headerregistry
- email.iterators
- email.message
- email.mime
- email.parser
- email.policy
- email.utils
- encodings.idna
- encodings.mbcs
- encodings.utf_8_sig
- ensurepip
- enum
- errno
- faulthandler
- fcntl (Unix)
- filecmp
- fileinput
- fnmatch
- formatter
- fpectl (Unix)
- fractions
- ftplib
- functools
- gc
- getopt
- getpass
- gettext
- glob
- grp (Unix)
- gzip
- hashlib
- heapq
- hmac
- html
- html.entities
- html.parser
- http.client
- http.cookiejar
- http.cookies
- http.server
- imaplib
- imghdr
- imp
- importlib
- importlib.abc
- importlib.machinery
- importlib.util
- inspect
- io
- ipaddress
- itertools
- json
- keyword
- lib2to3
- linecache
- locale
- logging
- logging.config
- logging.handlers
- lzma
- macpath
- mailbox
- mailcap
- marshal
- math
- mimetypes
- mmap
- modulefinder
- msilib (Windows)
- msvcrt (Windows)
- multiprocessing
- multiprocessing.connection
- multiprocessing.dummy
- multiprocessing.managers
- multiprocessing.pool
- multiprocessing.sharedctypes
- netrc
- nis (Unix)
- nntplib
- numbers
- operator
- optparse
- os
- os.path
- ossaudiodev (Linux, FreeBSD)
- parser
- pathlib
- pdb
- pickle
- pickletools
- pipes (Unix)
- pkgutil
- platform
- plistlib
- poplib
- posix (Unix)
- pprint
- profile
- pstats
- pty (Linux)
- pwd (Unix)
- py_compile
- pyclbr
- pydoc
- queue
- quopri
- random
- re
- readline (Unix)
- reprlib
- resource (Unix)
- rlcompleter
- runpy
- sched
- select
- selectors
- shelve
- shlex
- shutil
- signal
- site
- smtpd
- smtplib
- sndhdr
- socket
- socketserver
- spwd (Unix)
- sqlite3
- ssl
- stat
- statistics
- string
- stringprep
- struct
- subprocess
- sunau
- symbol
- symtable
- sys
- sysconfig
- syslog (Unix)
- tabnanny
- tarfile
- telnetlib
- tempfile
- termios (Unix)
- test
- test.support
- textwrap
- threading
- time
- timeit
- tkinter
- tkinter.scrolledtext (Tk)
- tkinter.tix
- tkinter.ttk
- token
- tokenize
- trace
- traceback
- tracemalloc
- tty (Unix)
- turtle
- types
- unicodedata
- unittest
- unittest.mock
- urllib
- urllib.error
- urllib.parse
- urllib.request
- urllib.response
- urllib.robotparser
- uu
- uuid
- venv
- warnings
- wave
- weakref
- webbrowser
- winreg (Windows)
- winsound (Windows)
- wsgiref
- wsgiref.handlers
- wsgiref.headers
- wsgiref.simple_server
- wsgiref.util
- wsgiref.validate
- xdrlib
- xml
- xml.dom
- xml.dom.minidom
- xml.dom.pulldom
- xml.etree.ElementTree
- xml.parsers.expat
- xml.parsers.expat.errors
- xml.parsers.expat.model
- xml.sax
- xml.sax.handler
- xml.sax.saxutils
- xml.sax.xmlreader
- xmlrpc.client
- xmlrpc.server
- zipfile
- zipimport
- zlib