Dive into Python 3 will cover Python 3 and its differences from Python 2. Compared to the original Dive into Python, it will be about 50% revised and 50% new material. I will publish drafts online as I go. The final book will be published on paper by Apress. The book will remain online under the CC-BY-3.0 license.
Below is the draft table of contents. Only a few chapters have been written so far. Yes, that is PapayaWhip. All hail PapayaWhip.
Installing Python
Python on Windows
Python on Mac OS X
Python on Linux
Python from source
The interactive shell
Summary
Your first Python program
Diving in
Declaring functions
How Python's datatypes compare to other programming languages
Documenting functions
Everything is an object
The import search path
What's an object?
Indenting code
Testing modules
Summary
Native Python datatypes
Lists
Differences from Python 2
Creating new a list
Modifying a list
Searching a list
Deleting elements from a list
List operators
Looping through a list (list comprehensions)
Tuples
Dictionaries
Differences from Python 2
Creating a new dictionary
Modifying a dictionary
Deleting items from a dictionary
Looping through a dictionary (dictionary comprehensions)
Dictionary views
Sets
Differences from Python 2
Creating a new set
Modifying a set
Deleting elements from a set
Common set operations: union, intersection, and difference
Frozen sets
Numbers
Differences from Python 2
Integers
Long integers
Floating point numbers
Complex numbers
Common numerical operations
Strings
There ain't no such thing as "plain text"
A brief history of character encoding
What's a character?
How strings are stored in memory
Converting between different character encodings
Differences from Python 2
Formatting strings
What's my string?
Lists and strings
Historical note on the string module
Byte streams
Summary
The power of introspection
Diving in
Using optional and named arguments
Keyword-only arguments
Using type, str, dir, and other built-in functions