Professional programmers who need to learn Python are our primary
audience. We provide specific help for you in a number of ways.
Since Python is simple, we can address
newbie programmers who don't have deep
experience in a number of other languages. We will call out some
details in specific newbie sections. Experienced programmers can
skip these sections.
Since Python has a large number of sophisticated built-in
data structures, we address these separately and fully. An
understanding of these structures can simplify complex
programs.
The object-orientation of Python provides tremendous
flexibility and power. This is a deep subject, and we will provide
an introduction to object-oriented programming in this book. More
advanced design techniques are addressed in Building Skills in Object-Oriented
Design, [Lott05].
The accompanying libraries make it inexpensive to develop
complex and complete solutions with minimal effort. This, however,
requires some time to understand the packaged components that are
available, and how they can be integrated to create useful
software. We cover some of the most important modules to
specifically prevent programmers from reinventing the wheel with
each project.
Instructors are a secondary audience. If you are looking for
classroom projects that are engaging, comprehensible, and focus on
perfecting language skills, this book can help. Each chapter in this
book contains exercises that help students master the concepts presented
in the chapter.
This book assumes an basic level of skill with any of the
commonly-available computer systems. The following skills will be
required.
Download and install open-source application software.
Principally, this is the Python distribution kit from Python.org. However, we will
provide references to additional software components.
Create text files. We will address doing this in
IDLE, the Python Integrated Development
Environment (IDE). We will also talk about doing
this with a garden-variety text editor like Komodo,
VIM, EMACS,
TEXTPAD and
BBEDIT.
Run programs from the command-line. This includes the
DOS command shell in Microsoft
Windows™, or the
Terminal tool in
Linux or Apple's Macintosh
OS X™.
Be familiar with high-school algebra and some
trigonometry. Some of the exercises make heavy use of basic
algebra and trigonometry.
When you've finished with this book you should be able to do the
following.
Use of the core procedural programming constructs:
variables, statements, exceptions, functions. We will not, for
example, spend any time on design of loops that terminate
properly.
Create class definitions and subclasses. This includes
managing the basic features of inheritance, as well as overloaded
method names.
Use the Python collection classes appropriately, this
includes the various kinds of sequences, and the
dictionary.
Published under the terms of the Open Publication License