Initiation Python
Initiation Python
Initiation Python
M. L-Lahlou
1 Introduction
Python est un langage de programmation libre multi-usage : outils système, développement
web, multimedia, calcul scientique . . . etc.
Python et tout son environnement scientique pour PC est diusé dans une distribution
nommée Anaconda, téléchargeable à partir de l'adresse web :
https://www.anaconda.com/products/distribution.
Attention : choisir en bas de la page la plate-forme (Windows, Linux ou MacOs) et le pro-
cesseur de la machine (32bits ou 64 bits).
Il y a plusieurs environnements pour le développement en python. On emploie au choix les
interfaces idle ou spyder. Un programme en python est appelé script.
Il existe plusieurs applications pour coder en python sur smartphones android. On conseille
par exemple d'installer pydroid.
2 Démarrage
Pour idle sous Linux on tape la commande idle en console ou à partir du menu des applica-
tions.
Sous Windows, on lance du menu Anaconda Prompt, qui charge une console, puis taper idle.
On conseille idle pour les ordinateurs à faibles ressources :
1
Pour spyder sous Linux on tape la commande spyder en console ou à partir du menu des
applications. Sous Windows, on lance directement du menu spyder.
Cette fenêtre est le shell appelée aussi console de python. Il sut de taper une instruction puis
d'appuyer sur la touche Entrée de votre clavier pour lancer son exécution. C'est le mode
interactif.
Travaillez en mode intractif de la section 3 à la section 6.
Dans python tous les calculs sont numériques. Les nombres sont soit
des entiers comme 3, -12, . . .
soit en virgule ottante : 1.53, -4.0, 2.7e-6, . . . en double précision. Remarquer pour saisir
en notation scientique 10−9 , on fait 1e-9 (ou 1E-9).
2
Les opérateurs arithmétiques usuels sont :
+,- addition, soustraction
*,/ multiplication, division décimale
** puissance x**y : xy
// division euclidienne
% reste de division euclidienne
Une chaine est du texte encadré par des guillemets (") ou des apostrophes (').
Exemples "python est un langage", '24'
convertir un nombre en chaine et inversement :
str() : convertit un nombre en chaine. Par exemple str(61) convertit en chaine '61'
int() ou float() : convertit une chaine en nombre entier ou ottant. Par exemple
float("-4.125") convertit en nombre -4.125
Les priorités des opérateurs sont comme dans le langage C. Mais puissance ** est prioritaire
sur tous les autres.
On observe que tout ce qui est saisi après le caractère # sur la même ligne est un commentaire.
Remarque : Si vous vous trompez dans une instruction, il sut de cliquer
dessus, le shell la reédite au niveau de l'invite >>> et vous corrigez.
quelques opérations sur les chaines :
not(1>10) # vraie
3
4 Variables
Toute variable doit être initialisée ou aectée.
print(a) # erreur!!
a=3
b=a/2
print(a)
print(b)
5 Lire et Acher
Achage simple
print(objet) # affiche objet
Achage formaté
On peut acher des chaines qui contient du texte et des données en utilisant les codes de
format selon la syntaxe :
print(" ... {:code1} ... {:code2} ... ".format(var1,var2,...))
a=1/8
print("a= {:f}".format(a)) #decimal libre
print("a= {:.4f}".format(a)) #decimal 4 chiffres apres la virgule
print("a = {:.5e}".format(a)) #decimal notation scientifique
b=2**5.25
print("a= {:.4f}, b= {:.3E}".format(a,b))
4
Lecture : input(" ... ")
ch=input("tapez votre nom")
"""
affiche le message et affecte
ce qui est saisi au clavier
à une variable chaine
"""
Remarque : un texte encadré par triple guillemets est un commentaire en plusieurs lignes
n=input("donner un nombre entier : ")
print(n+3) # produit une erreur!
Ce qu'on introduit au clavier après l'exécution de input(" ... ") est toujours une chaine.
Si on veut saisir et stocker en nombre, il faut convertir le résultat de la fonction input() à un type
numérique à l'aide des fonctions int() ou float().
#par exemple :
n=int(input("donner un nombre entier : "))
print(n+3)
Plus généralement eval(input(" ... ")) si on veut lire à partir du clavier plusieurs données en
une seule ligne ou même des objets composés comme les listes (voir plus loin) :
6 Listes
une liste est une collection d'objets dont la syntaxe est : [objet1,objet2, ...]
L=[3,-1,'bonjour',6]
print(L[0])
print(L[2])
print(len(L)) # taille
l=[3,5]
l.append(-8) # ajouter un élément
5
print(l)
L1=[5,'hello']
print(l+L1) #fusionner
Ls2=[2,4,'f',12,-5,3,-4]
print(Ls2[2:5]) #extraire une partie de la liste
7 Instructions de contrôle
Une instruction de contrôle est formée par une en-tête et un bloc.
Chaque bloc a un niveau de profondeur ou indentation.
6
7.1 Instructions alternatives
#ou bien
if condition:
bloc_instructions
else: # alignement obligatoire avec if
bloc_instructions
#plus généralement :
if condition_1:
bloc_1
elif condition_2:
bloc_2
else:
bloc
#Exemple :
x,y=eval(input("donner 2 nombres : "))
if x-y>0:
print("x est plus grand que y") # indentation
elif x==y: # aligne avec if
print(" x et y sont egaux")
else:
print("x est plus petit que y")
7.2 Boucles
7
for x in [5,2.5,-7,[-1,3]]:
print(x)
for j in range(10,1,-1):
print('j= ',j,'=> son inverse = ',1/j)
while condition:
instruction 1
instruction 2
...
a=10
while a>0.1:
a=a/5
print(a)
for i in range(0,10,1):
if i==6:
break # interrompre la boucle
x=i+1
print(x)
i=0
while i<9:
i=i+1
if i==3:
continue
print(i)
8
8 Fonctions
On peut dénir de nouvelles fonctions à l'aide du modèle :
def nomFonction(arg1,arg2,...):
instruction1
instruction2
...
return(res1,res2,...) # return non obligatoire,
#obligatoire si la fonction renvoie des résultats.
# fin bloc
où arg1,arg2,. . . sont les arguments d'entrée de la fonction et res1,res2,. . . sont les résultats.
On appelle une fonction par nomFonction(param1,param2,...), où param1,param2,... sont
les paramètres eectifs dans l'ordre de dénition des arguments.
Une fonction peut ne pas avoir d'argument, ou admettre tout type d'arguments : nombres,
chaines, listes, fonctions, . . .
Elle peut retourner un résultat, plusieurs résultats, ou ne pas retourner de résultat
Elle peut retourner tout type de résultat.
def som(a,b):
s=a+b
return(s)
#appel de fonction
print("somme = ",som(7,3))
a,b=-0.5,3.25
c=som(a,b)
print("somme = ",c)
def somDiff(a,b):
s=a+b
d=a-b
return(s,d)
#appel
print(somDiff(3,5))
#ou bien
x,y=somDiff(3,5) #affecter resultats a deux variables
print("x= ",x,",y= ",y)
9
fonction en argument :
def MyFunc(x,fonc):
y=-1+fonc(x)
return(y)
def g(u):
return(u**3)
x=2
z=MyFunc(x,g)
print("resultat de MyFunc = ",z)
def h(t):
return(1/t)
print("Autre resultat de MyFunc = ",MyFunc(4,h))
pi constante π
e constante exp(1)
abs valeur absolue
exp exponentielle
log (log10) logarithme népérien (en base 10)
cos,sin,tan fonctions trigonométriques
acos,asin,atan fonctions trigonométriques inverses
cosh,sinh,tanh fonctions hyperboliques
acosh,asinh,atanh fonctions hyperboliques inverses
sqrt racine carrée
floor partie entière
10