Following JYP's steps

As can be expected, there is a lot of online python documentation available, and it's easy to get lost. You can always use google to find an answer to your problem, and you will probably end up looking at lots of answers on Stack Overflow or a similar site. But it's always better to know where you can find some good documentation… and to spend some time to read the documentation

This page tries to list some python for the scientist related resources, in a suggested reading order. You should not print everything, but it's a good idea to download all the pdf files in the same place, so that you can easily open and search the document

Scipy Lecture Notes

Summary: One document to learn numerics, science, and data with Python

Where: pdf - html

This is a really nice document that is regularly updated and used for the EuroScipy tutorials

Quick Reference

The nice Python 2.7 Quick Reference: pdf - html

Some good coding tips

The official Style Guide for Python Code (aka PEP 0008)

A Pragmatic Quick Reference

Improving the performance of your code

You can already get a very efficient script by checking the following:

make sure that your script is not using too much memory (the amount depends on the computer you are using)! Your script should be scalable (e.g. keeps on working even when your data gets bigger), so it's a good idea to load only the data you need in memory (e.g. not all the time steps), and learn how to load chunks of data

make sure that you are using array/vector syntax and masks, instead of using explicit loops and tests. The numpy documentation is big, because there are lots of optimized functions to help you!

If your script is still not fast enough, there is a lot you can do to improve it, without resorting to parallelization (that may introduce extra bugs rather that extra performance). See the sections below

Tutorials by Ian Osvald

Tutorials from EuroScipy 2011

Tutorials from PyCon 2012

Python 2.7 vs Python 3

The official Porting Python 2 Code to Python 3 page gives the required information to make the transition from python 2 to python 3. It is still safe to use Python 2.7, so there is no rush to change to Python 3.

[ PMIP3 Wiki Home ] - [ Help! ] - [ Wiki syntax ]