Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy





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 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 Design by Interspire