0345 4506120

Python for Programmers

Are you ready to jump into Python? Keen to learn the build blocks for best practice in development of Python programs and how to use the module system? Then this course is for you!

At the end of this course the students will know the essentials of the python language, how to use Python's module system to structure code, and how to approach the development of Python programs. The class will focus on Python 3, unless Python 2 is specifically requested.

Rather than working bottom-up, this course starts with analysing and understanding working examples. This way developers will understand the various interdependent techniques in situ rather than in isolation.

About the Author

Robert Smallshire

Robert Smallshire

Robert Smallshire is a founding director of Sixty North, a software product and consulting business in Norway . Robert has worked in senior architecture and technical management roles for several software companies providing tools in the energy sector


Are you an developer experienced in another language who is new to Python? This course is for you!


Learning Objectives

Learn how to:

  • Built-in types and Python object model
  • Flow control and exceptions
  • Class definition, inheritance, and common usage patterns
  • Program organisation with modules and packages
  • The Python standard library
  • Obtaining and installing Python packages
  • Comprehensions, generators, and iteration
  • Serialization, unit testing, and filesystem interaction
  • Debugging


Bring your own hardware

You are required to bring your own laptop for this Python course, so you can develop with your own tools and languages, rather than something you are not familiar with.

Course Content

Day 1

  • Setting up your Python environment
  • Writing and running your first Python program
  • The REPL
  • Significant whitespace
  • Python culture
  • Importing modules from the standard library
  • Scalar types: int, float, None, and bool
  • Relational operators
  • Conditional statements
  • While loops and for loops
  • Strings and bytes objects
  • The basics of lists and dictionaries
  • Creating, running, and importing modules
  • Defining functions and return values
  • Distinguishing module import and module execution
  • The Python execution model
  • Main functions and command line arguments

Day 2

  • Argument passing and function arguments in detail
  • Python's type system
  • Variable scoping
  • Everything is an object
  • Common collections: tuple, string, range, and list
  • Shallow copies
  • Growing, sorting, repeating, and reversing lists
  • Dictionaries and sets
  • Collection protocols
  • Exceptions: try, except, raise, and finally
  • Exceptions in APIs and protocols
  • Platform-specific code
  • List, set, and dictionary comprehensions
  • Generator expressions
  • Iteration protocols
  • Generators, lazy evaluation, and infinite sequences

Day 3

  • Defining classes
  • Instance methods, initializers, and implementation details
  • OO with function objects
  • Polymorphism and duck typing
  • Inheritance and implementation sharing
  • Reading, writing, and appending to text and binary files
  • Context managers and with-blocks
  • Bitwise Operators
  • Testing with the unittest module
  • Debugging with PDB
  • Virtual environments
  • Distributing your programs
  • Installing third-party modules

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include