Intermediate Python Training Course
full day tutorial by John Pinner
Wednesday 30th January 2013
Venue: Imperial Hotel, Russell Square, London WC1B 5BB
Description: So, you've been programming in C/C++/Java/Perl/FORTRAN/Ruby** for years, and are regarded as a bit of an expert. Now you've 'picked up' Python and got a few programs going, it all seemed easy enough although you were shocked/horrified/mystified** at the differences between Python and your favourite language.
On top of this, you showed your latest Python program to a long-time friend who is an experienced Python user, and she turned her nose up at your code (of which you had been rather proud) and said 'It's not very Pythonic, is it?' - So this one day tutorial is for you, things we will cover include:
Recapitulation • Name spaces • mutability vs immutability • compile-time vs run-time behaviour
Python Functions • Variable numbers of arguments • Python functions are first-class objects • A simple despatch table
Contracts (lack of) and Conventions • Lack of interface/discipline cf [insert language here] • Informal contracts and conventions • 'Duck' typing • Naming conventions
Code Maintainability • Documentation • Avoiding mistakes; code checkers - pychecker - pylint
Unicode - If you think you don't need Unicode, you're probably in denial, face up to it now
Python 2 vs Python 3 • What are the differences ? • Which should I be using?
Multi-Platform applications • Tips for writing multi-platform code • Licensing
Functional Programming with Python • Python functional constructs • List comprehensions • Lexical closures
WTF is Pythonic? • Style – The Zen of Python • PEP 8 – write code like Guido van Rossum • Working with Python, it's not C, C++ or Java, don't try and make it so
** Delete as applicable
Tutor: (Traditionally bios are written in the third person, but John Pinner does not like this). 'I first started using computers in the sixties and have used a number of programming languages, among them machine assembly and languages, BASIC, Pascal, FORTRAN and C, together with a hefty dose of Bourne and Korn shells.
Sadly, I became fluent in assembly language and even(re) wrote an entire disk filing system in assembler.
Nowadays, just as it is no longer necessary to write filing systems and disk drivers, one does not have to battle with archaic programming languages.
Thanks to Linux Journal I 'discovered' Python in 2000 and have been using it ever since; together with an occasional regression to C, it covers all my programming needs. I find that it gets in the way least of all the languages I have used, and brings back the joy to programming. I am proud to be an elected member of the Python Software Foundation, and am something of a Python evangelist, through running training courses and promoting such events such as PyCon UK.
As well as Python, I have been an enthusiastic user of FLOSS, was an original contributor to the FSF, newly formed by RMS in 1985 and have served on UKUUG's Council.'
Places are limited - early booking is essential - Early bird rates available until 11th January 2013
Individual & Academic members - £192 inc. vat
Corporate members - £336 inc vat
Non-members - £480 inc. vat