
– Education (comme langage d’initiation `
a la programmation)
Un nombre toujours plus grand de produits utilise Python. Dans le do-
maine qui nous int´
eresse, des produits de visualisations scientifiques comme
Tecplot (commercial), Paraview ou MayaVi (logiciels libres) poss`
edent une
interface python.
L’ONERA, Airbus, EDF et le CEA ont d´
evelopp´
e des logiciels utilisant
Python (elsA pour l’ONERA, Paramed pour EDF et le CEA).
Python est un langage interpr´
et´
e, ce qui lui permet une certaine soup-
lesse par rapport `
a des langages compil´
es comme le C, le Fortran ou le C++.
N´
eanmoins, cette souplesse se paye par une relative lenteur par rapport aux
langages sus-cit´
es (On peut avoir un rapport de 10 entre Python et un lan-
gage comme le C).
Heureusement, l’int´
erˆ
et du langage, outre sa syntaxe simplifi´
ee, r´
eside
dans sa possibilit´
e d’extension via une interface en C bien fournie et ´
etendue,
permettant de rajouter des modules (biblioth`
eques) ´
ecrits en C directement
utilisables en Python. Cela permet grˆ
ace `
a ces modules ´
ecrits en C de pou-
voir obtenir au final une performance similaire au C ou au Fortran.
1.1.3 Syntaxe
Python a ´
et´
e conc¸u pour ˆ
etre un langage lisible. Il vise `
aˆ
etre visuelle-
ment ´
epur´
e, et utilise des mots anglais fr´
equemment l`
a o`
u d’autres langages
utilisent de la ponctuation, et poss`
ede ´
egalement moins de constructions
syntaxiques que de nombreux langages structur´
es tels que C, Perl, ou Pas-
cal. Les commentaires sont indiqu´
es par le caract`
ere #.
Les blocs sont identifi´
es par l’indentation, au lieu d’accolades comme en
C/C++, ou de Begin ... End comme en Pascal. Une augmentation de l’inden-
tation marque le d´
ebut d’un bloc, et une r´
eduction de l’indentation marque
la fin du bloc courant. Les parenth`
eses sont facultatives dans les structures
de contrˆ
ole :
/ / F o n c t i o n f a c t o r i e l l e en C
int factorielle (int x )
{
i f ( x == 0 )
r e t u r n 1 ;
else
r e t u r n x∗factorielle (x−1 );
}
# F o n c t i o n f a c t o r i e l l e en p y t h on
def factorielle (x):
i f x == 0 :
r e t u r n 1
else :
r e t u r n x∗factorielle (x−1)
Voici bri`
evement les autres caract´
eristiques :
– Python peut ˆ
etre lanc´
e en mode interactif (comme un shell ´
evolu´
e)
– C’est un langage typ´
e ( `
A chaque variable correspond un type), mais
poss´
edant un typage dynamique (et non statique comme en C ou
C++). C’est `
a dire que le type d’une variable est d´
efinie `
a l’ex´
ecution
2