# Python for Everyone, 2nd Edition

ISBN: 978-1-119-18665-6

May 2016

752 pages

Select type: E-Book

\$47.50

## Description

Cay Horstmann's Python for Everyone, 2nd Edition provides a comprehensive and approachable introduction to fundamental programming techniques and design skills, and helps students master basic concepts and become competent coders. The inclusion of advanced chapters makes the text suitable for a 2 or 3-term sequence, or as a comprehensive reference to programming in Python. Major rewrites and an updated visual design make this student-friendly text even more engaging. Filled with realistic programming examples, a great quantity and variety of homework assignments, and lab exercises that build student problem-solving abilities, it is no surprise Python for Everyone is the number one text for early objects in the Python market.

## Related Resources

### Instructor

Request an Evaluation Copy for this title

View Instructor Companion Site

Contact your Rep for all inquiries

### Student

View Student Companion Site

Chapter 1: Introduction

1.1 Computer Programs

1.2 The Anatomy of a Computer

1.3 The Python Programming Language

1.4 Becoming Familiar with Your Programming Environment

1.6 Errors

1.7 Problem Solving: Algorithm Design

Chapter 2: Programming with Numbers and Strings

2.1 Variables

2.2 Arithmetic

2.3 Problem Solving: First Do It By Hand

2.4 Strings

2.5 Input and Output

2.6 Graphics: Simple Drawings

Chapter 3: Decisions

3.1 The if Statement

3.2 Relational Operators

3.3 Nested Branches

3.4 Multiple Alternatives

3.5 Problem Solving: Flowcharts

3.6 Problem Solving: Test Cases

3.7 Boolean Variables and Operators

3.8 Analyzing Strings

3.9 Application: Input Validation

Chapter 4: Loops

4.1 The while Loop

4.2 Problem Solving: Hand-Tracing

4.3 Application: Processing Sentinel Values

4.4 Problem Solving: Storyboards

4.5 Common Loop Algorithms

4.6 The for Loop

4.7 Nested Loops

4.8 Processing Strings

4.9 Application: Random Numbers and Simulations

4.10 Graphics: Digital Image Processing

4.11 Problem Solving: Solve a Simpler Problem First

Chapter 5: Functions

5.1 Functions as Black Boxes

5.2 Implementing and Testing Functions

5.3 Parameter Passing

5.4 Return Values

5.5 Functions Without Return Values

5.6 Problem Solving: Reusable Functions

5.7 Problem Solving: Stepwise Refinement

5.8 Variable Scope

5.9 Graphics: Building an Image Processing Toolkit

5.10 Recursive Functions (Optional)

Chapter 6: Lists

6.1 Basic Properties of Lists

6.2 List Operations

6.3 Common List Algorithms

6.4 Using Lists with Functions

6.6 Problem Solving: Discovering Algorithms by Manipulating Physical Objects

6.7 Tables

Chapter 7: Files and Exceptions

7.1 Reading and Writing Text Files

7.2 Text Input and Output

7.3 Command Line Arguments

7.4 Binary Files and Random Access

7.5 Exception Handling

7.6 Application: Handling Input Errors

Chapter 8: Sets and Dictionaries

8.1 Sets

8.2 Dictionaries

8.3 Complex Structures

Chapter 9: Objects and Classes

9.1 Object-Oriented Programming

9.2 Implementing a Simple Class

9.3 Specifying the Public Interface of a Class

9.4 Designing the Data Representation

9.5 Constructors

9.6 Implementing Methods

9.7 Testing a Class

9.8 Problem Solving: Tracing Objects

9.9 Problem Solving: Patterns for Object Data

9.10 Object References

9.11 Application: Writing a Fraction Class

Chapter 10: Inheritance

10.1 Inheritance Hierarchies

10.2 Implementing Subclasses

10.3 Calling the Superclass Constructor

10.4 Overriding Methods

10.5 Polymorphism

10.6 Application: A Geometric Shape Class Hierarchy

Chapter 11: RECURSION

11.1 Triangle Numbers Revisited

11.2 Problem Solving: Thinking Recursively

11.3 Recursive Helper Functions

11.4 The Efficiency of Recursion

11.5 Permutations

11.6 Backtracking

11.7 Mutual Recursion

Chapter 12: Sorting and Searching

12.1 Selection Sort

12.2 Profiling the Selection Sort Algorithm

12.3 Analyzing the Performance of the Selection Sort Algorithm

12.4 Merge Sort

12.5 Analyzing the Merge Sort Algorithm

12.6 Searching

12.7 Problem Solving: Estimating the Running Time of an Algorithm

APPENDIX A THE BASIC LATIN AND LATIN-1 SUBSETS OF UNICODE

APPENDIX B PYTHON OPERATOR SUMMARY

APPENDIX C PYTHON RESERVED WORD SUMMARY

APPENDIX D THE PYTHON STANDARD LIBRARY

APPENDIX E BINARY NUMBERS AND BIT OPERATIONS

GLOSSARY

INDEX

CREDITS

• Extended Graphics and Image Processing: The use of graphics to reinforce language constructs has been extended to include the use of image processing.
• Toolbox Sections: Many optional "Toolbox" sections introduce useful packages in the wonderful ecosystem of Python libraries.
• Data Plotting: Several new Worked Examples show students how to create a visual representation of data through graphical plots.
• Interactive Learning: Additional interactive content is available that integrates with this text and immerses students in activities designed to foster in-depth learning.
• Cay Horstmann is a renowned author of many successful texts, known for his clear writing style, focus on fundamentals, and effective pedagogy.
• Guidance and worked examples help students succeed. Step-by-step guidance builds confidence and provides an outline for the task at hand. “Problem Solving” sections stress the importance of design and planning. “How To” guides help students with common programming tasks. Additional Worked Examples are available online.
• Practice makes perfect. This book contains a substantial number of self-check questions at the end of each section. “Practice It” pointers suggest exercises to try after each section. And additional practice opportunities, including code completion questions, guided lab exercises, and skill-oriented multiple-choice questions are available online.
• The presentation is highly visual. Photographs present visual analogies that explain the nature and behavior of computer concepts. Syntax boxes and example tables present a variety of typical and special cases in a compact format.