Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

Intro Python

Uploaded by

fajrin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Intro Python

Uploaded by

fajrin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

A brief and biased introduction to

python

Ch. Morisset, IA-UNAM


History

1991 : Guido van Rossum started to worked on
Python

1996 : Numerical python, precursor of Numpy.

2003 : Matplotlib, MATLAB-like interface.
How to get python ?

Most of the OS have some python installed, but
not the scientific libraries.

The best is to use a package that includes
everything you need (and more…).

Anaconda is one of them. It includes the former
STSCI Ureka project, pyRAF is an option.

It leaves in a single directory, easy to remove.
Which python version ?

There are 2 main versions of python currently
used :
– Python 2 : 2.7 latest subversion, maintained till 2020
– Python 3 : 3.6 most recent.

PB : no backward compatibility…

Main painful difference : strings.

Best to learn python 3, all the major libraries are
py3-compliant.
Multiple versions of python

Using conda, one can create different
« environments » : each one being a full python
installation.

Creation of a new environment :
– conda create --name py3k python=3 astropy

Switching is as easy as (from bash only) :
– source activate py3k
Growing python

The amount of libraries is huge.
– Anaconda installing facility:
● conda install astropy
– Pip installing facility (from PyPI - the Python
Package Index) :
● pip install pyneb
– From github (e.g. devel version):
● pip install -U git+https://github.com/Morisset/PyNeb_devel.git
Running python

Interactive : ipython
– Completion
– History
– Magic commands

Running scripts
– %run test # executing test.py
– import library
– test.py ; from Linux prompt
Notebooks

Esthetic way of gathering script and results,
including tables and figures.

Executable

Python lectures, PyNeb manual, pyCloudy
sample scripts and Cloudy School examples.

https://github.com/Morisset/Python-lectures-Notebooks
Indispensable libraries

Numpy : vectorisation

Matplotlib : plotting facilities

Scipy : scientific tools

Astropy : astronomical tools

Pandas : tables
Object Oriented Programing

Very powerful way of programing.

Object = smart container with variables (attributes)
and functions (methods)

Class definition and object instantiations.

All objects of the same class share the same
methods and properties, but can have different
values for the attributes.

As many objects from the same class as one want.
Help

The python community is very active.

Somebody already had your problem, and
somebody already solved it ; just find the words
to describe it

StackOverflow is THE site where to look for a
solution.

You might also like