Related URL:
QGIS Python programming
This tutorial consist of three parts. The first part is a practical introduction to Python programming. The second part summarizes the different Python injection points to QGIS. The third part explains QGIS Plugin programming through an example.