Course Code: 5668

Python I Essentials

Class Dates:
4 Days
Class Time:
Instructor-Led Training, Virtual Instructor-Led Training


  • Course Overview
  • This four day course leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by graduated lab exercises. Python Programming is a practical introduction to a working programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world.

  • Audience
  • Users who want to learn Python and use it for application development, system administration, or just to automate tasks in a simple, yet powerful way.


  • Working/user level knowledge of an operating system such as Linux, Windows, or MacOS. Basic skill with at least one other programming language is desirable.

Course Details

  • An Overview of Python
  • What is Python?
  • The Birth of Python
  • Python Timeline
  • About Interpreted Languages
  • Advantages of Python
  • Disadvantages of Python
  • How to get Python
  • Which version of Python?
  • The of 2.x
  • Getting Help
  • pydoc
  • The Python Environment
  • Starting Python
  • If the interpreter is not in your PATHs
  • Using the interpreter
  • Trying out a few commands
  • Running a Python script
  • Python scripts on UNIX
  • Python scripts on Windows
  • Python editors and IDEs
  • Getting Started
  • Using Variables
  • Keywords
  • Built-in Functions
  • Variable Typing
  • Strings
  • Iterating through a sequence
  • Functions for all sequences
  • Using enumerate()
  • Operators and keywords for sequences
  • The xrange() function
  • Nested sequences
  • List comprehensions, Generator expressions
  • Working with files
  • Text file I/O
  • Opening a text file
  • The with block
  • Reading a text file
  • Writing to a text file
  • “Binary” (raw, or non-delimited) data
  • Dictionaries and Sets
  • About dictionaries
  • When to use dictionaries
  • Creating dictionaries
  • Getting dictionary values
  • Iterating through a dictionary
  • Reading file data into a dictionary
  • Counting with dictionaries
  • About sets
  • Creating sets
  • Working with sets
  • Functions
  • Defining a function
  • Function parameters
  • Global variables
  • Variable scope
  • Returning values
  • Sorting
  • Sorting overview
  • The sorted() function
  • Alternate keys
  • Lambda functions
  • Sorting collections of collections
  • Using operator.itemgetter()
  • Sorting dictionaries
  • Sorting in reverse
  • Sorting lists in place
  • Errors and Exception Handling
  • Syntax errors
  • Exceptions
  • Handling exceptions with try
  • Handling multiple exceptions
  • Handling generic exceptions
  • Ignoring exceptions
  • Using else
  • Cleaning up with finally
  • The standard exception hierarchy
  • Using Modules
  • What is a module?
  • The import statement
  • Where did the .pyc file come from?
  • Module search path
  • Zipped libraries
  • Creating Modules
  • Packages
  • Module aliases
  • When the batteries aren’t included
  • Regular Expressions
  • RE syntax overview
  • Regular expression metacharacters
  • RE Objects
  • Searching for patterns
  • Matching without re objects
  • Compilation flags
  • Grouping, Special groups
  • Replacing text
  • Replacing with a callback
  • Splitting a string
  • Using the Standard Library
  • The sys module
  • Interpreter information
  • Launching external programs
  • Paths, directories, and filenames
  • Walking directory trees
  • Grabbing data from the web
  • Sending e-mail
  • Math functions
  • Random values
  • Dates and times
  • Zipped archives
  • An Introduction to Python Classes
  • About OO programming
  • Defining classes
  • Initializers
  • Instance methods
  • Properties
  • Class methods and data
  • Static methods
  • Private methods
  • Inheritance
  • Untangling the nomenclature
  • Bonus Exercises