The course starts by overviewing Python, and looking at the language's
statements, variable naming and base types, comment, loops and conditional structures,
with appropriate comparisons made to other languages for the particular group of
delegate. It then goes on to study Python's collections - Lists, Tuples
and Dictionaries. Functions, Modules and packages are then covered, as is the
use of and creation of data types (objects) in Python. An short overview of OO
principles is included in case any of the trainees on the course have only
experience of a structured programming language. This is followed by the "heart" of the course which
covers objects ... and dictionaries, strings, files and exceptions as object too.
We introduce the development environments and other resources available, and take a look
with practical exercises at test procedures and good code design.

The final modules of the course introduce the practical use of Python in
a number of applications, such as online (cgi and Django), XML and database connectivity,
graphic user interfaces (Tkinter, wxPython, Qt and GTK) and
Data Munging and Systems administration tasks.

PREREQUISITES

Prior programming experience in another language such as
Perl, Java, Basic or C. If you haven't programmed before, please
book on our Learning to program in Python course instead.

Lists and Tuples(module Y104) What are collections and why do we have them?
Introduction to lists.
The for loop.
Tuples.
List and Tuple Slices.
Copying a list, conerting to a list or tuple.
Concatanating and repeating lists.
Comparing lists and the in operator.

Python - using functions, objects and modules.(module Y200) Built in functions.
Passing parameters in and out.
Methods on built in data types.
Loading modules - from v import.
Calling functions and methods from modules.
Learning about methods in a standard module.
A caution on globals and statics.

Dictionaries(module Y107) What is a dictionary.
Dictionary operators and methods.
Iterating through a Dictionary's keys.
For, range and xrange.
Counting and existence.
Sets and frozensets.
Sorting (via lists)

Additional Python Facilities(module Y115) Is Python compiled or interpreted?.
Regular expressions in Python.
Elements of a Python-style regular expression.
Anchors (Assertions).
Literal characters.
Character groups.
Counts.
Alternation.
Grouping.
Modifiers.
Some examples.
Methods available on Python regular expressions.
Some more examples and features of regular expressions.
Some popular regular expressions.
Running Python and system commands from within.
Handling dates and times in Python.
Pickling and shelving.
Accessing the environment from Python.
Talking to SQL databases from Python.

Already written modules(module Y117) Built in objects.
Standard modules.
time, re, unittest etc.
The Vaults of Parnassus and the Cheeseshop.
Sourceforge and other sources.
wx, tkinter, qt.

Python and SQL databases(module Y113) A built in database - SQLite.
Connection to a database server.
Drivers for MySQL and other databases.
The basic principles of databases.
Using SQLite from Python.
Using MySQL and other databses from Python.
Checking your tables from the command line.
Databases in Django.

A public Python course in Colorado, USA is offered by
Mark Lutz, author of "Learning Python" and
other O'Reilly books on Python. This course also runs 3 times a year. There is
no commercial link between Mark and Well House Consultants, but each of us tells
prospective customers about the other's services where appropriate.
Public courses run at
Well House Manor - our own
purpose fitted training centre and business hotel / conference centre in
Melksham.
• Download Melksham Map - [pdf file (750k)] • Google Map - [Link]

PRICE

1 student

2 students

3 students

For 4 or more students
from the same company,
please consider a private course.

Notes:
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.

FOLLOW UPS

If you're looking to write
extensive GUIs using Python, make heavy use of it on the web, or embed it
within your own application, please ask us to run a "Python Extra"
day for you; Python Extra days allow us to give greater coverage to
more specialist topics without extending the basic course.

Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the
"Ask the Tutor" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.