Course Overview

Introduction to Python Programming Basics is a hands-on Python programming course that teaches students the essentials of Python scripting to a foundation level. This 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 course provides an excellent kick start for users new to Python and scripting, enabling them to use basic Python skills on the job in a variety of ways.  Students can apply the course skills to use Python in basic web development projects or automate or simplify common tasks with the use of Python scripts. The course also serves as a solid primer course / foundation for continued Python study in support for next level web development with Python, Python for data science / machine learning or Python for systems admin or networking support.

Key Learning Areas

  • Create working Python scripts following best practices
  • Use python data types appropriately
  • Read and write files with both text and binary data
  • Search and replace text with regular expressions
  • Get familiar with the standard library and its work-saving modules
  • Create "real-world", basic level professional Python applications
  • Know when to use collections such as lists, dictionaries, and sets
  • Understand Pythonic features such as comprehensions and iterators
  • Write robust code using exception handling

Course Outline

An Overview of Python

  • What is python?
  • Python Timeline
  • Advantages/Disadvantages of Python
  • Getting help with pydoc

The Python Environment

  • Starting Python
  • Using the interpreter
  • Running a Python script
  • Python scripts on Unix/Windows
  • Editors and IDEs

Getting Started

  • Using variables
  • Built-in functions
  • Strings
  • Numbers
  • Converting among types
  • Writing to the screen
  • Command line parameters

Flow Control

  • About flow control
  • White space
  • Conditional expressions
  • Relational and Boolean operators
  • While loops
  • Alternate loop exits

Array Types

  • About array types (AKA sequences)
  • Lists and list methods
  • Tuples
  • Indexing and slicing
  • Iterating through a sequence
  • Nested sequences
  • Sequence functions, keywords, and operators
  • List comprehensions
  • Generator Expressions

Working with Files

  • File overview
  • Opening a text file
  • Reading a text file
  • Writing to a text file

Dictionaries and Sets

  • About dictionaries
  • Creating dictionaries
  • Iterating through a dictionary
  • About sets
  • Creating sets
  • Working with sets

Functions

  • Defining functions
  • Returning values
  • Parameters
  • Global and local scope

Sorting

  • The sorted() function
  • Alternate keys
  • Lambda functions
  • Sorting collections
  • Using operator.itemgetter()
  • Reverse sorting

Errors and Exception Handling

  • Syntax errors
  • Exceptions
  • Using try/catch
  • Handling multiple exceptions
  • Ignoring exceptions

Modules and Packages

  • The import statement
  • Module search path
  • Creating Modules
  • Using packages
  • Function and Module aliases

Classes

  • About o-o programming
  • Defining classes
  • Constructors
  • Methods
  • Instance data
  • Properties
  • Class methods and data

Who Benefits

This basic level course provides an excellent kick start for users new to Python and scripting, enabling them to use basic Python skills on the job in a variety of ways.  This course is appropriate for advanced users, system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts.

Students can apply the course skills to use Python in basic web development projects or automate or simplify common tasks with the use of Python scripts. The course also serves as a solid primer course / foundation for continued Python study in support for next level web development with Python, Python for data science / machine learning or Python for systems admin or networking support.

Prerequisites

Basic familiarity with any programming or scripting language would be helpful. Students should have a working, user-level knowledge of Unix/Linux, Mac, or Windows.