Introduction au Python pour
des scientifiques !
Module1: Initiation!
!
Sophie Cloché, Marc-Antoine Drouin, Dmitry Khvorostyanov,!
Estelle Lorant, Vincent Noël, Jean-Yves Peterschmitt
!
avec des contributions précieuses de !
Ludmila Klenov, Yohann Morille !
!
Institut Pierre et Simon Laplace
Journée de formation IPSL – 2 décembre 2014
Ecole Polytechnique, Palaiseau, France
Programme de la journée
Matin (maintenant)
!
9h30 : accueil café
!
10h00 – 12h45: Introduction générale à Python (amphi Becquerel)
!
!
Midi
!
12h45 – 14h00 : repas (salle Aquarium)
!
!
Après-midi
14h – 18h00: Travaux Pratiques (salles informatiques 32 et 33 de l'X)
Presentation outline
Introduction to Python (Dmitry)
Language syntax introduction (Dmitry & Marc-Antoine)
Coffee break/Questions
Scientific Python libraries (Marc-Antoine)
Hands-on session overview (Dmitry)
Python: Brief History
February 1991, the 1
st published version (0.9.0): classes, exception handling,
functions, core datatypes (list, dict, str...), module system
January 1994, v1.0: functional programming paradigm tools lambda, map, filter
and reduce.
October 1996, v1.4: keyword arguments [ex.: c = jump(high = True)], complex
numbers
October, 2000, v2.0: list comprehensions (we'll see one today!), a garbage
collection system (makes life easier with memory management)
December, 2001, v2.2: new-style classes (unification of Python's types (written in
C) and classes (written in Python) into one hierarchy; generators
December, 2008, v3.0: "Reduce feature duplication by removing old ways of
doing things" => no more backward compatibility!
June, 2009, v3.1, July, 2010, v2.7. Python 2.7 was released to coincide with
Python 3.1, included some features 3.1, as well as warnings for old features. The
2.7 was the last 2.x release.
Van Rossum at OSCON 2006
Photo taken from WikiPedia
Guido Van Rossum:
"Benevolent Dictator For Life"
!
Python creator, he oversees the
development process,
making decisions
Why Python?
High-level flexible programming language
Development speed
Code readability
Collaborative development, program component (re-)usability
combined with
Rich variety of libraries for wide range of applications:
Scientific computing
Data analysis, statistics, input/output
Data visualization
Image/signal processing, data mining, machine learning....
Shell programming (a readable bash alternative!)
Web / Databases
Human-computer interaction (graphical user interfaces, virtual reality...)
Video-games, networking, sound/text processing, linguistics, neurosciences...
Embedded systems
Free, open-source, permissive license (PSFL)
Large, friendly, dynamically growing community
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !