Python est un langage de programmation libre (open source) d'utilisation général et multiplateformes. Python fonctionne sous un grand nombre de plateformes incluant Linux, Windows, Mac OS X, OS/2 ainsi que les nombreuses variantes dérivées d'Unix.
Il est parfois considéré comme un langage de scripts, à tort, car il offre un grand confort dans le développement d'applications de divers types.
Sa syntaxe est concise et épurée et permet ainsi un gain de temps pour l'écriture du code. Python offre une multitude de modules en standard qui apportent des fonctionnalités allant du système à la gestion du courrier électronique, et proposent des implantations robustes de diverses structures de données.
Python allie ainsi les avantages des langages interprétés tel que le BASH et grâce à ses nombreuses fonctionnalités des langages compilés tel que Java et C.
La machine virtuelle Python permet d'exécuter le code directement sans le compiler. Il est possible d'utiliser Python de deux manières différentes : soit d'écrire du code source dans des fichiers dont l'extension sera .py, soit de taper ce code directement dans l'interpréteur.
Créé originalement par le programmeur Guido van Rossum autour de 1990. Contrairement à de nombreux langage qui sont supporté par des société, la nature open source du langage python lui permet d'évoluer grâce à la communauté des développeurs python. Une mise à jour importante à été le passage de la version 2 à la version 3. Ce cours est orienté sur la version 2.7 de python.
Sans plus attendre, commencez votre première leçon de Python : Hello world !
D’abord, qu’est-ce qu’un module ? Il s’agit d’une sorte de bibliothèque (un regroupement de fonctions prédéfinies) qui une fois importée permet d’accéder à de nouvelles fonctions. Il en existe beaucoup. On peut citer :
C’est un module qui permet d’avoir accès aux fonctions mathématiques comme le cosinus (cos), le sinus (sin), la racine carrée (sqrt), le nombre π (pi) et bien d’autres...
>>> from math import * # importation du module >>> cos(pi) # cosinus d'un angle en radian -1.0 >>> sqrt(25) # racine carrée 5.0
En plus de ce qui a été cité précédemment, on peut ajouter les fonctions tangente (tan), partie entière (floor), exponentielle (exp) et logarithme népérien (log).
Concernant la fonction partie entière, il y en avait déjà une sans l’apport du module math. Il s’agit de int. Vous noterez une légère différence entre les deux.
>>> floor(12.123) 12.0 >>> int(12.123) 12
En anglais “random” signifie “le hasard”. Ce module va nous permettre d’utiliser des fonctions générant des nombres aléatoires. Les trois qui me semblent le plus utile dans un premier temps sont :
randint(a,b)
qui renvoie un entier aléatoire entre les 2 entiers a
et b
,random()
qui renvoie un nombre aléatoire entre 0 et 1,choice(liste)
qui choisit au hasard un nombre dans liste
.>>> from random import * >>> randint(5,10) 6 >>> random() 0.34461947461259612 >>> random() 0.024762749258158245 >>> L = [7, 3, 8, 5, 6] >>> choice(L) 5 >>> choice(L) 3 >>> # cela marche pour une liste de chaine de caractères >>> liste = ['Pierre', 'Paul', 'Jacques'] >>> choice(liste) 'Jacques'
Mais pour importer un module, la façon de procéder reste la même, ou plutôt les mêmes car il y a deux façons de faire. Voyons cela en prenant comme exemple le module math.
>>> from math import sqrt >>> sqrt(36) 6.0 >>> cos(0) Traceback (most recent call last): File "Le message d’erreur signifie simplement que l’on n’a pas importé la fonction cos. Donc si on recommence", line 1, in NameError: name 'cos' is not defined
>>> from math import sqrt, cos >>> sqrt(36) 6.0 >>> cos(0) 1.0Et si on veut que toutes les fonctions du module soient importées, on peut procéder comme on l’a fait plus haut en utilisant l’étoile *.
>>> from math import * >>> sqrt(36) 6.0 >>> cos(0) 1.0 C’était la première façon de faire.
Voici la deuxième façon de faire pour importer un module.
>>> import math >>> math.sqrt(36) 6.0 >>> math.cos(0) 1.0
Bien que cette deuxième méthode paraisse plus lourde à écrire, elle peut avoir certains avantages. Par exemple quand on importe plusieurs modules cela peut éviter des conflits.
Comme dit plus haut, il y a différents types de modules :
Pour connaitre toutes les différences entre Python2 et Python3, vous pouvez consulter cette section du site officiel. Mais voici celles qui sont les plus importantes pour le débutant.
print
C’est desormais une fonction. Pour l’utiliser il faut donc obligatoirement utiliser des parenthèses.
Plus besoin du from __future__ import division
qui était nécessaire pour que
la division (/) soit bien décimale. Avec Python3, on a directement :
>>> 7/2
3.5
Avec Python2, on avait :
>>> 7 / 2
3
>>> from __future__ import division
>>> # la division est maintenant décimale
>>> 7 / 2
3.5
imput
Cette fonction renvoie automatiquement une chaine de caractères, même s’il est demandé de saisir un nombre.
range
Avant, avec Python2, on avait :
>>> range(5)
[0, 1, 2, 3, 4]
mainetnant, avec Python3, on a :
>>> range(5)
range(0, 5)
Et pour avoir le contenu de la liste générée, il faut utiliser la fonction
list
.
>>> list(range(5))
[0, 1, 2, 3, 4]