Skip to content

Learning Python

Best in textbook rentals since 2012!

ISBN-10: 0596002815

ISBN-13: 9780596002817

Edition: 2nd 2004

Authors: David Ascher, Mark Lutz

List price: $39.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. The new edition of "Learning Python puts you in the hands of two expert teachers, Mark Lutz and David Ascher, whose friendly, well-structured prose has guided many a programmer to proficiency with the language. "Learning Python, Second Edition offers programmers a comprehensive learning tool for Python and object-oriented programming. Thoroughly updated for the numerous language and class…    
Customers also bought

Book details

List price: $39.99
Edition: 2nd
Copyright year: 2004
Publisher: O'Reilly Media, Incorporated
Publication date: 1/6/2004
Binding: Paperback
Pages: 624
Size: 7.00" wide x 8.75" long x 1.25" tall
Weight: 1.892
Language: English

David Ascher is the lead for Python projects at ActiveState, including Komodo, ActiveState's integrated development environment written mostly in Python. David has taught courses about Python to corporations, in universities, and at conferences. He also organized the Python track at the 1999 and 2000 O'Reilly Open Source Conventions, and was the program chair for the 10th International Python Conference. In addition, he co-wrote Learning Python (both editions) and serves as a director of the Python Software Foundation. David holds a B.S. in physics and a Ph.D. in cognitive science, both from Brown University.

Christopher Phillips is an educator, a freelance writer, and the founder of the non-profit Society for Philosophical Inquiry.Mark Lutz is a leading Python trainer, the author of Python's earliest and best-selling texts, and a pioneering figure in the Python world. Mark is the author of the three O'Reilly books: Learning Python, Programming Python, and Python Pocket Reference, all currently in fourth or fifth editions. He has been using and promoting Python since 1992, started writing Python books in 1995, and began teaching Python classes in 1997. As of Spring 2013, Mark has instructed 260 Python training sessions, taught roughly 4,000 students in live classes, and written Python books that…    

Preface
Getting Started
A Python Q&A Session
Why Do People Use Python?
Is Python a Scripting Language?
Okay, But What's the Downside?
Who Uses Python Today?
What Can I Do with Python?
What Are Python's Technical Strengths?
How Does Python Stack Up to Language X?
How Python Runs Programs
Introducing the Python Interpreter
Program Execution
Execution Model Variations
How You Run Programs
Interactive Coding
System Command Lines and Files
Clicking Windows File Icons
Module Imports and Reloads
The IDLE User Interface
Other IDEs
Embedding Calls
Frozen Binary Executables
Text Editor Launch Options
Other Launch Options
Future Possibilities?
Which Option Should I Use?
Part I Exercises
Types and Operations
Numbers
Python Program Structure
Why Use Built-in Types?
Numbers
Python Expression Operators
Numbers in Action
The Dynamic Typing Interlude
Strings
String Literals
Strings in Action
String Formatting
String Methods
General Type Categories
Lists and Dictionaries
Lists
Lists in Action
Dictionaries
Dictionaries in Action
Tuples, Files, and Everything Else
Tuples
Files
Type Categories Revisited
Object Generality
References Versus Copies
Comparisons, Equality, and Truth
Python's Type Hierarchies
Other Types in Python
Built-in Type Gotchas
Part II Exercises
Statements and Syntax
Assignment, Expressions, and Print
Assignment Statements
Expression Statements
Print Statements
if Tests
if Statements
Python Syntax Rules
Truth Tests
while and for Loops
while Loops
break, continue, pass, and the Loop else
for Loops
Loop Variations
Documenting Python Code
The Python Documentation Interlude
Common Coding Gotchas
Part III Exercises
Functions
Function Basics
Why Use Functions?
Coding Functions
A First Example: Definitions and Calls
A Second Example: Intersecting Sequences
Scopes and Arguments
Scope Rules
The global Statement
Scopes and Nested Functions
Passing Arguments
Special Argument Matching Modes
Advanced Function Topics
Anonymous Functions: lambda
Applying Functions to Arguments
Mapping Functions Over Sequences
Functional Programming Tools
List Comprehensions
Generators and Iterators
Function Design Concepts
Function Gotchas
Part IV Exercises
Modules
Modules: The Big Picture
Why Use Modules?
Python Program Architecture
How Imports Work
Module Coding Basics
Module Creation
Module Usage
Module Namespaces
Reloading Modules
Module Packages
Package Import Basics
Package Import Example
Why Use Package Imports?
A Tale of Three Systems
Advanced Module Topics
Data Hiding in Modules
Enabling Future Language Features
Mixed Usage Modes: __name__ and __main__
Changing the Module Search Path
The import as Extension
Module Design Concepts
Module Gotchas
Part V Exercises
Classes and OOP
OOP: The Big Picture
Why Use Classes?
OOP from 30,000 Feet
Class Coding Basics
Classes Generate Multiple Instance Objects
Classes Are Customized by Inheritance
Classes Can Intercept Python Operators
Class Coding Details
The Class Statement
Methods
Inheritance
Operator Overloading
Namespaces: The Whole Story
Designing with Classes
Python and OOP
Classes as Records
OOP and Inheritance: "is-a" Relationships
OOP and Composition: "has-a" Relationships
OOP and Delegation
Multiple Inheritance
Classes Are Objects: Generic Object Factories
Methods Are Objects: Bound or Unbound
Documentation Strings Revisited
Classes Versus Modules
Advanced Class Topics
Extending Built-in Types
Pseudo-Private Class Attributes
"New Style" Classes in Python 2.2
Class Gotchas
Part VI Exercises
Exceptions and Tools
Exception Basics
Why Use Exceptions?
Exception Handling: The Short Story
The try/except/else Statement
The try/finally Statement
The raise Statement
The assert Statement
Exception Objects
String-Based Exceptions
Class-Based Exceptions
General raise Statement Forms
Designing with Exceptions
Nesting Exception Handlers
Exception Idioms
Exception Design Tips
Exception Gotchas
Core Language Summary
Part VII Exercises
The Outer Layers
Common Tasks in Python
Conversions, Numbers, and Comparisons
Manipulating Strings
Data Structure Manipulations
Manipulating Files and Directories
Internet-Related Modules
Executing Programs
Debugging, Testing, Timing, Profiling
Exercises
Frameworks
An Automated Complaint System
Interfacing with COM: Cheap Public Relations
A Tkinter-Based GUI Editor for Managing Form Data
Jython: The Felicitous Union of Python and Java
Exercises
Python Resources
Layers of Community
The Process
Services and Products
The Legal Framework: The Python Software Foundation
Software
Popular Third-Party Software
Web Application Frameworks
Tools for Python Developers
Appendixes
Installation and Configuration
Solutions to Exercises
Index