Dive into object-oriented Python
A hands-on workshop for Python users who need a better understanding of its OOP implementation - a key to success for for every Django programmer.
Note: this session is part of DjangoCon Europe’s open day. It’s free and all are welcome to attend, but please register because places are limited.
About the workshop
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 IPython 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.
Ubuntu users can use this code to get a working iPython Notebook:
sudo apt-get install -y python3-dev g++ virtualenv venv3 source venv3/bin/activate pip install ipython pyzmq jinja2 pygments tornado jsonschema
Both Linux and OSX users can also install the Anaconda IPython scientific Python distribution. We will not make use of all the graphical features of the Anaconda IPython installation, so this may be overkill.
About Leonardo Giordani
Leonardo started using Python in 2000, and Django in 2010.
He’s currently working in the field of satellite radar imagery (Tele-Rilevamento Europa), building massive scientific data processing chains in C/Python.
He develops Django-based solutions to monitor data processing and to manage software development and deployment.