linux.conf.au 2014

Perth, Western Australia - 6th to 10th January 2014

linux.conf.au


<-- Back to schedule

Python 3: Making the Leap!

Wiki Page: Python 3: Making the Leap!

Python 3.0 was released in December 2008. Developers around the world quickly scrambled to port their code from python 2, only to find that one or more third party projects on which they depended had not yet been ported, effectively blocking their progress.

For a number of years the standard advice was "stick with python 2, because python 3 support is missing in lots of places". Progress was slow and many people put the job of migrating to python 3 in the too hard basket.

But now we're five years down the track, and all the major third party modules have been ported to python 3. There are no more excuses. It's time for *you* to start using, and porting your code to, the latest and greatest version of python.

In this tutorial we'll look at some of the major changes between python 2 and 3, and how to make the transition between them. By working through a series of examples, you'll learn:

- What's been added in Python 3 and why you should care
- How to use the -3 flag to get your program Python 3 ready
- What some common pitfalls are when porting code from 2 to 3
- How to convert a program using 2to3.py
- How to take advantage of new language features to write more pythonic code.

Participants are requested to bring along a computer of some form with both python 2 and python 3 installed. All exercises will be OS agnostic and free from 3rd party dependancies.

This tutorial is designed to cater to a range of proficency levels. The only prequisite is a desire to cast off the shackles of legacy language versions and break into the modern age of python programming!

Tim Leslie

Tim Leslie is a python hacker of 14 years, currently working for Breakaway Consulting in Sydney. His passion is in developing software to help the world of science progress and he has worked in fields including neuroimaging, astronomy, climate modelling and digital signal processing. He is currently the lead maintainer of the Modular Ocean Model (MOM) and contibutes to the Scipy project whenever he runs out of other code to write.