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.​

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