User Tools

Site Tools


other:python:jyp_steps

This is an old revision of the document!


Following JYP's recommended 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

The official python documentation

You do not need to read all the python documentation at this step, but it is really well made and you should at least have a look at it. The Tutorial is really well made, and you should have a look at the table of content of the Python Standard Library. There is a lot in the default library that can make your life easier

Python 2.7

html - pdf

Python 3

html - pdf

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

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

Hint: before optimizing your script, you should spent some time profiling it, in order to only spend time improving the slow parts of your script

Tutorials by Ian Osvald

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 ]

other/python/jyp_steps.1453223035.txt.gz · Last modified: 2016/01/19 17:03 by jypeter