Here is a short list of resources available when writing Python code in QGIS. If you know of others, please leave a comment.
In alphabetical order:
- Existing plugins can be a great learning tool
- Code Snippets in the PyQGIS Cookbook
- Script Runner: Run scripts to automate QGIS tasks
- Plugin Builder: Create a starter plugin that you can customize to complete your own plugin
- Plugin Reloader: Allows you to reload a plugin from within QGIS
- pb_tool: Tool to compile and deploy your plugins