Introduction to Python for sciences 2020

Pierre Augier (LEGI)

(And Cyrille Bonamy (LEGI), Eric Maldonado (Irstea), Franck Thollard (ISTerre), Christophe Picard (LJK), Loïc Huder (ISTerre)...)

First steps. Different ways to use Python.

Python: a language, an interpreter

Python is a programming language.

It is first an interpreted language (like Bash, Matlab, and in contrast with Fortran, C or C++), so we need an interpreter, i.e. a binary parsing Python code and running computer instructions.

Open a terminal. There are usually different python commands: python, python2 and python3.

Remark Python 2 / Python 3

2 languages, 2 interpreters, 2 commands

Python distributions

(advice on how to install a good scientific Python environment)

Do it yourself: personal work

Download the repository of this training (you need one of the programs git or mercurial). On Unix machines, use the commands:

hg clone https://gricad-gitlab.univ-grenoble-alpes.fr/meige-legi/intro-python.git
cd intro-python
cat README.rst
make help

Warning: cat and make are Unix commands...

Do it yourself: execute a script with the command python3

Run a script with python3 (pyfiles/helloworld.py is just a text file):

cat pyfiles/helloworld.py
python3 pyfiles/helloworld.py

(cat is a Unix command that print the content of a text file.)

Do it yourself: work interactively with ipython

The command ipython3 launch the program ipython, which is used for interactive python.

  • In ipython, you can execute a first interactive instruction:
In [3]:
2 + 2
Out[3]:
4
In [1]:
3 / 4
Out[1]:
0.75
  • Run the script from ipython.
In [2]:
run ../pyfiles/helloworld.py
Hello world
My name is Pierre
In [3]:
# name is defined in ../pyfiles/helloworld.py
print(name)
Pierre
  • Help on an object can be displayed with the question mark (try it):
name?
  • Try to type "name." and to press on tab... The tab key is used to tell you how what you typed can be completed.

  • Try to use the top and bottom arrows...

Python in an IDE (Spyder)

Launch the application Spyder, a Python IDE (Integrated development environment).

  • a quite good code editor with:
    • syntax coloring,
    • code analysis powered by pyflakes and pylint,
    • introspection capabilities such as code completion.
  • Ipython console
  • variable inspector
  • ...

Remarks:

Python in the browser (Jupyter)

The presentations of this python training are made with Jupyter (demonstration).

This is a very powerful tool to present results (see these examples).

cd intro-python
jupyter-lab