Dive Into Object-oriented Python

Leonardo Giordani | Sunday 10:00 | Room A

Each language has its own object-oriented implementation, that can differ in subtle or unexpected ways from others.

Newcomers to Python - whether they are coming from another language, or learning programming through Python for the first time - sometimes encounter some ‘strange’ issues, but understanding Python’s OOP implementation will help make many of them seem a lot less strange.

This tutorial will introduce beginners to Python’s beautiful but sometimes peculiar implementation of OOP concepts. It’s ideal for people who have a bit of Python knowledge and experience, and need to move from first steps to a deeper understanding.

Please bring your own laptop, as the workshop includes hands-on exercises. The minimum setup is a running Python console (preferably Python 3, but Python 2 is also OK) and your editor of choice.

The recommended setup is a running Jupyter Notebook installation (

There will be no time to install software during the workshop, so please ensure that everything is already working for you. Run this example program from Dive Into Python 3 to check that all’s in order:

You can use this code to get a working Jupyter Notebook environment:

virtualenv venv3 -p python3
source venv3/bin/activate
pip install jupyter

This repository contains the code that will be used during the workshop

The PyConUK2016/code directory contains the Python2 and Python3 code formatted in a way that allows to copy and paste it in a Python console.

The PyConUK2016/notebooks diretory contains Jupyter notebooks for Python3 only.