Python Programming

This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non trivial Python programs dealing with a wide variety of subject matter domains. Topics include language components, the IDLE environment, control flow constructs, strings, I/O, collections, classes, modules, and regular expressions. The course is supplemented with many hands on labs using either Linux or Windows. 

Course Information

Price: $2,995.00
Duration: 5 days
Learning Credits:
Course Delivery Options

Check out our full list of training locations and learning formats. Please note that the location you choose may be an Established HD-ILT location with a virtual live instructor.

Train face-to-face with the live instructor.

Interact with a live, remote instructor from a specialized, HD-equipped classroom near you.
*An SLI sales rep will confirm location availability prior to registration confirmation.

Attend the live class from the comfort of your home or office.

All Sunset Learning dates are guaranteed to run!



Students should have taken the Software Development for Non-Programmers course or have some experience with at least one programming language. Typically, students in this course will have already programmed in either C, C++, Java, Perl, Ruby, VB, or anything equivalent to these languages. 


Target Audience:

This course is designed for anyone who needs to learn how to write programs in Python. 


Course Objectives:

Upon completion of this course, students will be able to:

  • Execute Python code in a variety of environments
  • Use correct Python syntax in Python programs
  • Use the Python control flow constructs correctly
  • Write Python programs using various collection data types
  • Write homegrown Python functions
  • Use many of the standard Python modules such as os, sys, math, and time
  • Handle various exceptions via the Python Exception Handling model
  • Use the io module in Python to read and write disk files
  • Create custom classes and use existing Python classes
  • Understand and use the Object-Oriented paradigm in Python programs
  • Use the Python Regular Expression capabilities for data verification
  • Differentiate between the proper use of Python collection classes
  • Use advanced data structures
  • Use Python list comprehensions
  • Use Python generators
  • Write GUI programs in Python
  • Write CGI programs in Python
  • Create and execute processes
  • Write Network Programs in Python
  • Use Python to store data in a variety of ways including the use of a database


Course Outline:

Chapter 1: An Introduction to Python

  • Introduction
  • A Brief History of Python
  • Python Versions
  • Installing Python
  • Environment Variables
  • Executing Python from the Command Line
  • IDLE
  • Editing Python Files
  • Python Documentation
  • Getting Help
  • Dynamic Types
  • Python Reserved Words
  • Naming Conventions

Chapter 2: Basic Python Syntax

  • Basic Syntax
  • Comments
  • String Values
  • String Methods
  • The format Method
  • String Operators
  • Numeric Data Types
  • Conversion Functions
  • Simple Output
  • Simple Input
  • The % Method
  • The print Function

Chapter 3: Language Components

  • Indenting Requirements
  • The if Statement
  • Relational and Logical Operators
  • BitWise Operators
  • The while Loop
  • break and continue
  • The for Loop

Chapter 4: Collections

  • Introduction
  • Lists
  • Tuples
  • Sets
  • Dictionaries
  • Sorting Dictionaries
  • Copying Collections
  • Summary

Chapter 5: Functions

  • Introduction
  • Defining Your Own Functions
  • Parameters
  • Function Documentation
  • Keyword and Optional Parameters
  • Passing Collections to a Function
  • Variable Number of Arguments
  • Scope
  • Functions – "First Class Citizens"
  • Passing Functions to a Function
  • map
  • filter
  • Mapping Functions in a Dictionary
  • Lambda
  • Inner Functions
  • Closures

Chapter 6: Modules

  • Modules
  • Standard Modules – sys
  • Standard Modules – math
  • Standard Modules – time
  • The dir Function

Chapter 7: Exceptions

  • Errors
  • Runtime Errors
  • The Exception Model
  • Exception Hierarchy
  • Handling Multiple Exceptions
  • raise
  • assert

Chapter 8: Input and Output

  • Introduction
  • Data Streams
  • Creating Your Own Data Streams
  • Access Modes
  • Writing Data to a File
  • Reading Data From a File
  • Additional File Methods
  • Using Pipes as Data Streams
  • Handling IO Exceptions
  • Working with Directories
  • Metadata
  • The pickle Module

Chapter 9: Classes in Python

  • Classes in Python
  • Principles of Object Orientation
  • Creating Classes
  • Instance Methods
  • File Organization
  • Special Methods
  • Class Variables
  • Inheritance
  • Polymorphism
  • Type Identification
  • Custom Exception Classes

Chapter 10: Regular Expressions

  • Introduction
  • Simple Character Matches
  • Special Characters
  • Character Classes
  • Quantifiers
  • The Dot Character
  • Greedy Matches
  • Grouping
  • Matching at Beginning or End
  • Match Objects
  • Substituting
  • Splitting a String
  • Compiling Regular Expressions
  • Flags

Chapter 11: Data Structures

  • List Comprehensions
  • Nested List Comprehensions
  • Dictionary Comprehensions
  • Dictionaries with Compound Values
  • Processing Lists in Parallel
  • Specialized Sorts
  • Time Functionality
  • Generators

Chapter 12: Writing GUIs in Python

  • Introduction
  • Components and Events
  • An Example GUI
  • The Tk Widget
  • Button Widgets
  • Entry Widgets
  • Text Widgets
  • Check button Widgets
  • Radiobutton Widgets
  • Listbox Widgets
  • Frame Widgets
  • Menu Widgets
  • Toplevel Widgets
  • Dialogs

Chapter 13: Python and CGI Scripts

  • What is CGI
  • HTML
  • HTML Forms
  • A Guestbook Application
  • What Can Go Wrong!
  • HTML Tables
  • The CGI Script
  • Rendering of the Script

Chapter 14: The os module

  • The Environment
  • Creating a Process
  • Listing Files
  • Other Process Methods
  • File Information (Metadata)
  • Working With Directories

Chapter 15: Network Programming

  • Networking Fundamentals
  • The Client/Server Model
  • The socket Module
  • A Client Program
  • A Server Program
  • An Evaluation Client and Server
  • A Threaded Server

Chapter 16: Python and Databases

  • Introduction
  • DBM Operations
  • Pickling
  • Pickling with Complex Objects
  • Shelves
  • Using sqlite3
  • Executing Queries
  • Table Descriptions
  • Writing Database Scripts