Python Training Course

The Graphics Network

Training and Development for Windows, Linux and the Web

01285 713297

Python Programming

Our Python training is different to other courses - it's 100% practical. Everything is done using exercises and examples, simply because we've found that people learn more by doing rather than listening. We do provide slides, a course book and some text books but these are used for reviewing the subjects and for after-course study - from the very beginning we write Python code. All the examples start from an empty page, so there is no concept of just 'filling in the blanks' without really knowing what's going on.

Every course has a large number of standard exercises, but more are added depending on what people need to achieve in their real work. Often students ask 'how do you' questions which are answered by 'let's do it' and another class example is born.

This way the courses can be interactive, educational and stimulating. We enjoy teaching Python, so our goal is for you to enjoy it too.

The course can be based on Windows, Linux or both. Most courses use Python 3 these days, but we can still cover Python 2 if required. We can vary the course for complete beginners through to experienced programmers. If you just want a quick introduction to coding, or you're an experienced programmer who wants to find out what Python is about, we can offer 'Python in a Day'. The outline below is just an example, so if you wish to cover different libraries such as pygame then just let us know. Most courses would be 5 days, but if you'd like to spread that over 2 sessions, for example 3 days one week and 2 the next, that would be fine. If you'd prefer a 3 or 4 day course, that would be fine as well.

Most of our courses are held at your site using your equipment, but if there are 2 or more of you then it could be economic for us to 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.