Python Training Course

The Graphics Network

Training and Development for Windows, Linux and the Web

01285 713297

Python Programming

A totally practical course using a wide range of exercises and examples which vary with each course to match what you need to achieve. We love teaching Python as people can get productive very quickly.

The course can be based on Windows, Linux or both and can be tailored for complete beginners through to experienced programmers. Most courses would be 5 days but can be shorter if you prefer. If you'd like to spread it over 2 sessions, for example 3 days one week and 2 the next, that would be fine.

Most courses are held at your site using your equipment, but if there are 2 or more of you then we could use a hotel or conference centre close to you, or you could come to the Cotswolds where we are based.

The 5 day course costs £3200 in total for up to 6 students, so if you have 6 people to train this would be £533 for each student. These prices exclude VAT and the instructor's reasonable expenses. Each student beyond 6 would cost £20 for the additional course manuals. If you are interested in this course, please contact us by email at or by phone on +44 (0)1285 713297.

Course Outline:

About Python

Why Python was invented. What Python is good for (and what it's not). History and versions. Development tools.

Getting Started

Scripts vs programs. A simple Python script. Running a program. The interactive interpreter. Layout and white space. Storing scripts. Python 'variables' and names. How typing works in Python. Some of Python's types. Type conversion. Python's operators.

Control Flow

if, else and elif. Interval comparisons. for, sequences and ranges. break, continue and pass. Iterating through strings and collections. while loops. Implementing menus.


Lists - Python's smart arrays. Dictionaries - Python's ubiquitous collection. Tuples - Python's most misunderstood collection. List comprehensions. The other collections.


The purpose of functions. Writing and calling functions. Passing arguments. Named (keyword) arguments. Optional (default) arguments. Local and global variables. The main function and __name__. Modules and packages. Writing and using modules. Import options. Lambdas.

Files and Strings

Opening files for read, write and append. Reading and writing. Using 'with'. Text and binary files. Error and exception handling. Formatting strings. Splitting strings. Slicing strings.

Object-oriented Python

Object-oriented programming and its benefits. Components, classes and objects. Defining a class and creating objects. Initialization and the __init__ method. 'Private' fields. Functions, methods and attributes. Object collections. Treating objects as strings. Implementing standard operators. Read-only and read-write properties. Inheritance. 'Duck typing' and polymorphism.


Multitasking concepts. Threads, processes and processors. Creating a process. Creating and starting a thread. Thread limitations and the process solution. Interprocess communication. The concurrent.futures module. Thread and process pool executors.


Networking concepts. TCP/IP. Sockets. A Python client. A Python server.

Unit Testing

The importance of testing. DocTest. Unit testing and Test Driven Development. Writing tests. Running tests and fixing problems.


How databases work, and how Python interacts with them. SQLite, MySQL and others. Connections and cursors. Querying and manipulating data.

Introducing the SciPy Family

NumPy and its array capabilities. Using Python for mathematics, science and data analysis. A quick look at SciPy, Matplotlib and pandas.

Optional - Introducing Graphical User Interfaces

Tkinter and its alternatives. Creating a GUI. Basic controls. Event handling.

Copyright © 1996 - 2018 The Graphics Network Ltd. Registered in England No. 2549085
All trademarks used on this site are respectfully acknowledged.
Microsoft is a registered trademark of Microsoft Corporation in the United States and other countries.