Python Programming

A complete introduction to the Python Programming language

Overview

This course provides a complete introduction to the Python scripting language. Delegates will learn to program using all the features of Python 3, with an emphasis on writing maintainable and testable scripts. Both the functional and object-oriented aspects of Python are covered in depth, including best practices for using them in combination.

The course is normally taught over 3 days, but this can be reduced if delegates are fluent in another scripting language, such as Perl or Ruby. The delivery can be on either Linux or Windows as required. By default the ‘PyCharm’ IDE is used for examples and exercises, but other editors can be substituted on request.

Outline

Introduction to Python

  • The evolution of Python from Shell Scripting and Perl
  • Installing Python and running / debugging simple scripts
  • Differences between Python 3 and earlier versions
  • Using the JVM and CLR based Python interpreters
  • Comparing Python to Ruby, JavaScript and PowerShell

The Basics of Python Scripting

  • Declaring and modifying variables
  • Reading and writing from the console
  • Working with the built in data types
  • Making choices and performing iteration
  • Declaring functions and passing parameters
  • Identity, equality and references

Working With Structured Data

  • Storing individual items in sets, lists and tuples
  • Storing pairs of items in dictionaries (aka hashes)
  • Understanding how class declarations work in Python
  • Creating classes and adding attributes and operations
  • Using your own types with the built-in collections

Regular Expressions in Python

  • What is a regular expression?
  • How the Regular Expression Engine operates
  • Functions in Python that accept regular expressions
  • Creating character classes and specifying multiplicities
  • Meta-characters for specifying positions in the input
  • Understanding greedy vs. non-greedy matching
  • Using parenthesis for grouping and submatches
  • Making use of look-behind and look-ahead
  • Adding comments to your regular expressions

Object Orientation in Depth

  • Creating class hierarchies in Python
  • Overriding methods from base classes
  • Adding properties to your classes
  • The intrinsic class and object attributes
  • Creating your own iterator objects and generators
  • Using decorators to address Aspects in your design
  • Guidelines for overloading operators sensibly
  • Support for meta-programming in Python

Functional Programming in Python

  • Using functions as inputs to other functions
  • Building and returning functions from functions
  • Creating and working with lambda functions
  • Using lamdbas with filter, map and reduce
  • Simplifying your code using list comprehensions

Writing Maintainable Scripts

  • Raising and catching exceptions correctly
  • Organizing your code into modules and packages
  • Understanding symbol tables and accessing them in code
  • Picking a testing framework and applying TDD in Python

Performing Common Tasks

  • Reading and writing text, data and objects from files
  • Basic network programming in Python using sockets
  • Dynamically running code with exec and eval
  • Working with SOAPy and RESTful web services
  • Options for accessing relational databases
  • Writing multi-threaded Python scripts

Requirements

  • Delegates should ideally have several years programming experience, gained either from strongly typed languages like C, C++, C#, and Java or other scripting languages like Perl, Ruby and JavaScript.

Sign up and stay in the loop

Be the first to know about upcoming workshops, courses, talks and events

Learn more

Excellent Python course. Eamonn Boyle was a super tutor, very patient and explained everything well, demonstrating an indepth knowledge of a variety of programming languages.