1. Python

1.1. Introduction

Python est un langage de programmation multi-paradigme. Il favorise la programmation impérative structurée et orientée objet. Il est doté d’un typage dynamique fort, d’une gestion automatique de la mémoire par ramasse-miettes et d’un système de gestion d’exceptions .

Le langage Python est placé sous une licence de type BSD et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix en passant par Linux, Mac OS, ou encore Android, et aussi avec Java ou encore .NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation plus aisée aux concepts de base de la programmation2.

Différentes implementations : cpyton, jython, ironpython, pypy

1.2. Utilisé par

  • Instagram

  • Pinterest

  • Disqus(500 millions pages/mois)

  • Mozilla

  • Justin.tv

  • NASA

  • National Geographic

  • Canonical

  • Bitbucket.org

  • Discovery Networks

  • Intel, AMD, HP, IBM

  • The Library of Congress (plus grande bibliothèque du monde)

  • The New York Times

  • Rdio

  • VMWare

  • Walt Disney

  • The Washington Post.

  • lanyrd.com

1.3. Historique

Créé en 1989 par GVR

7-8e langage de prog selon l’index Tiobe, 4e sur github

1.4. Points forts

  • Langage objet, mais prog impérative

  • Cross platform

  • Peu verbeux : (spring 55k -> python/django 8k), expressif

  • Très lisible, syntaxe simple

  • Consistent

  • Lib standard très riche (http, crypto, fichiers, math, test etc)

  • Très bonne qualité générale des libs tierces : notamment web, science

  • Moins rapide que du c/java, en pratique c’est rarement un problème.

  • Plus rapidement productif

  • Dépôt (Pypi)

  • Pas de compilation : Langage transformé en bytecode (fichiers .pyc, .pyo)

1.5. Aujourd’hui

Dernière version: 3.9 Les versions 2.X sont abandonnées, mais encore très présentes en entreprises.

1.6. Indentation

Indentation significative.

if variable == 10:
    print ('dix')

Configurer votre éditeur pour toujours utiliser 4 espaces

1.7. L’interpréteur

REPL: Read evaluate print loop

Démarrer l ’interpréteur $>python

1.7.1. Hello world

>>> print ('hello world')
hello world

1.7.1.1. Messages d’erreurs

>>> print 'hello
  File "<stdin>", line 1
    print ('hello)
                 ^
SyntaxError: EOL while scanning string literal

1.7.2. Calculatrice

Attention (python 2.x)

>>> 3/2
1
>>> 3.0/2
1.5

1.7.2.1. Astuce

Underscore pour rejouer la dernière commande

>>> print ('toto')
toto
>>> _
toto

1.8. Terminaux améliorés

1.8.1. bpython

Syntax highlighting, autocomplete, parameter list, autoindent, rewind

Page officielle

1.8.2. iPython

Notepad, console, web

Page officielle

Licence: CC-BY Providenz