Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
INTRODUCTION
Un petit historique…
Affichage ligne
Ce que nous écrirons … par ligne
Ce que l’on utilisera à chaque fois
que l’on voudra exécuter le code
source : traduction/exécution ligne
par ligne.
Caractéristiques de python
Portable
Python est portable entre les differentes variantes de Unix ainsi que
sur les OS propiétaires comme Mac OS, BEOs, MS-DOS et les
differentes versions de Windows
Caractéristiques de python
LiBRE
Python est placé sous Général Public License. Il est facilement downloadable
sur www.python.org
Caractéristiques de python
Extensible
Au-delà de la multitude de librairies et de modules déjà existente, il
est possible d’en dévellopper pour ses propres besoins :
Matplolib pour l'affichage des courbes
Etc .
Caractéristiques de python
Éditeur pour
écrire des
programmes
Environemment de developpement
pyzo
EX1 :
utiliser la console interactif comme une simple calculatrice de bureau.
tester les commandes, comme :
• 5+3
• 2 - 9 # les espaces sont optionnels
• 7 + 3 * 4 # la hiérarchie des opérations mathématiques est-elle
respectée ?
• (7+3)*4
• 20 / 3
EX2:
utiliser l'éditeur de script afin d'exécuter les instructions suivantes :
• 5+3
• 2 - 9 # les espaces sont optionnels
• 7 + 3 * 4 # la hiérarchie des opérations mathématiques est-elle respectée
?
• (7+3)*4
• 20 / 3
Ces données peuvent être très diverses mais dans la mémoire de l'ordinateur elles se
ramènent toujours et en définitive à une suite finie de nombres binaires.
Mémoire
@
Taille 1110000000011
Une variable apparaît dans un programme
@ 1110001110011 python sous un nom de variable, mais pour
Prix_Unitaire 1110001110000 l'ordinateur il s'agit d'une référence désignant
@
Quantité 0000001110011 une adresse mémoire, c'est-à-dire un
0000000000011 emplacement précis dans la mémoire vive.
Noms de variables et mots réservés
Quelques règles pour les noms de variables sous Python :
Un nom de variable est une séquence de lettres (a à z , A à Z) et de chiffres (0 à 9), qui
doit toujours commencer par une lettre.
Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les cédilles, les
espaces, les caractères spéciaux tels que $, #, @, etc. sont interdits, à l'exception du
caractère _ (souligné).
En plus de ces règles, il faut encore ajouter que vous ne pouvez pas utiliser comme
noms de variables les 29 « mots réservés » au langage ci-dessous :
n = 7 # donner à n la valeur 7
msg = "Quoi de neuf ?" # affecter la valeur "Quoi de neuf ?" à msg
Mémoire
@
n
7 en binaire
@
msg « quoi de neuf »
en binaire…
@
Pi 3,14159 en binaire
Affectations multiples
• Sous Python, on peut assigner une valeur à plusieurs variables simultanément.
Exemple :
>>>x = y = 7
>>> x
7
>>>y
7
• On peut aussi effectuer des affectations parallèles à l'aide d'un seul opérateur :
>>> a, b = 4, 8.33
>>> a
4
>>> b
8.33
• Dans cet exemple, les variables a et b prennent simultanément les nouvelles valeurs 4 et
8,33.
Afficher la valeur d'une variable
Pour afficher la valeur à l'écran, il existe deux possibilités :
>>>n
7
>>>msg #affiche les guillemets, donc le type.
"Quoi de neuf ? "
>>>pi
3.14159
>>> largeur = 20
>>> hauteur = 5 * 9.3
>>> largeur * hauteur
930
Exemple :
>>>a, b = 7.3, 12
>>>y = 3*a + b/5
Exercice
Décrivez ce qui se passe à l’exécution des lignes suivantes :
if <test1>:
... <instructions>
elif <test2>:
...<instructions>
else:
... <instructions>
Exemple :
if embranchement == "vertébrés": # 1
if classe == "mammifères": # 2
if ordre == "carnivores": # 3
if famille == "félins": # 4
"c'est peut-être un chat" # 5
"c'est en tous cas un mammifère" # 6
elif classe == 'oiseaux': # 7
"c'est peut-être un canari" # 8
"la classification des animaux est complexe" # 9
• Ce programme n'imprime la phrase « c'est peut-être un chat » que dans le cas où les quatres premières conditions
testées sont vraies.
• Pour que la phrase « c'est peut-être un canari » soit affichée, il faut que la variable embranchement contienne «
vertébrés », et que la variable classe contienne « oiseaux ».
La Boucle While
Comme dans beaucoup d’autres langages, la boucle while éxecute un bloc tant que
la condition d’arrêt est vérifiée. La particularité de ce while est qu’il peut y avoir un
else optionnel dont le bloc sera éxecuté lorsqu’on sort de la boucle
while <test> :
<instructions>
else :
<instructions>
Un exemple…
X=0
While x<6:
print ("Dans le boucle while x vaut : " , x)
x=x+1
else:
print ("Dans le else x vaut :",x)
Utilisation du break, continue, pass
Ces trois instructions permettent à l’utilisateur d’avoir un plus grand contôle de la
boucle.
Comme en C, l’instruction break permet de sortir de la boucle instantannément et
de passer à la suite. Elle annule le passage dans la boucle else.
L’istruction « continue » saute au début de la boucle la plus imbriquée.
« pass » ne fait rien du tout mais, comme on ne peut avoir une expression qui
n’est suivie de rien, « pass » peut être utilisé pour combler ce vide.
Exemple :
y=0
While y<6:
if y==4:
break
else:
print « Dans la boucle while, y vaut : », y
y=y+1
else:
print « dans le else y vaut : », y
La Boucle For
La boucle for fonctionne sur les chaînes, les listes, les tuples et d’autes objets issus
de classes.
Elle commence par une ligne d’en-tête qui spécifie une cible d’affectation, ainsi
qu’un objet qui sera itéré :
Ici encore, le else est mis en fin de boucle pour la même raison que dans la boucle
while vue précédemment.
Le for de Python fonctionne différemment que celui du C, il affecte les objets de
l’élément séquence à la cible un par un.
Le Range
L’instruction range permet de créer une liste croissante d’entiers successifs
compris dans une certaine borne dépendant du nombre de paramètres de
l’instruction :
• 1 paramètre : entiers compris entre 0 et le paramètre
• 2 paramètres : entier compris entre param1 et param2
• 3 paramètres : entier compris entre parm1 et param2 et de pas param3
Ex :
for i in range(10,20,2):
print (i)
Ce qui donne: 10
12
14
16
18
LES FONCTIONS
Fonctions prédéfinies
La fonction intégrée input() provoque une interruption dans le
programme courant.
L'utilisateur est invité à entrer des caractères au clavier et à terminer
avec <Enter>
On peut l’invoquer en laissant les parenthèses vides. On peut
aussi y placer en argument un message explicatif destiné à
l'utilisateur.
Pour utiliser la fonction que nous venons de définir, il suffit de l'appeler par son nom. Ainsi :
>>> table7()
Provoque l'affichage de :
7 14 21 28 35 42 49 56 63 70
Fonction avec paramètres
La fonction table() telle que définie ci-dessous utilise le paramètre base pour calculer les
dix premiers termes de la table de multiplication de base.
Pour tester cette nouvelle fonction, il nous suffit de l'appeler avec un argument.
>>> table(13)
13 26 39 52 65 78 91 104 117 130
>>> table(9)
9 18 27 36 45 54 63 72 81 90
Fonction avec plusieurs paramètres
La fonction table() est certainement intéressante, mais elle n'affiche toujours que les dix
premiers termes de la table de multiplication, alors que nous pourrions souhaiter qu'elle en
affiche d'autres. Nous allons l'améliorer en lui ajoutant des paramètres supplémentaires, dans
une nouvelle version que nous appellerons cette fois tableMulti() :
Cette nouvelle fonction utilise donc trois paramètres : la base de la table comme dans
l'exemple précédent, l'indice du premier terme à afficher, l'indice du dernier terme à afficher.
Essayons cette fonction en entrant par exemple :
>>> tableMulti(8, 13, 17)
Fragment de la table de multiplication par 8 :
13 x 8 = 104
14 x 8 = 112
15 x 8 = 120
16 x 8 = 128
17 x 8 = 136
Les formes Lambda
Exemple:
>>> phrase1 = 'les oeufs durs.'
>>> phrase2 = '"Oui", répondit-il,'
>>> phrase3 = "j'aime bien"
>>> print phrase2, phrase3, phrase1
"Oui", répondit-il, j'aime bien les oeufs durs.
Les 3 variables phrase1, phrase2, phrase3 sont donc des variables de type string
Remarques :
• La séquence \n dans une chaîne provoque un saut à la ligne.
• La séquence \' permet d'insérer une apostrophe dans une chaîne délimitée par des
apostrophes
Accès aux caractères individuels d'une chaîne
Exemple :
>>> ch = "Stéphanie"
>>> print( ch[0], ch[3])
Sp
Opérations élémentaires sur les chaînes
De nombreuses fonctions intégrées à Python, permettent d'effectuer divers traitements
sur les chaînes de caractères.
• concaténation
a = 'Petit poisson'
b = ' deviendra grand'
c=a+b
print(c)
petit poisson deviendra grand
• len()
>>> print (len(c))
29
>>> ch = '8647'
>>> print (ch + 45)
==> *** erreur *** on ne peut pas additionner une chaîne et un nombre
>>> n = int(ch)
>>> print( n + 65)# OK : on peut additionner 2 nombres
8712
Les Listes
Definition
• Sous Python, on peut définir une liste comme une collection d'éléments séparés par
des virgules, l'ensemble étant enfermé dans des crochets.
Exemple :
>>> jour = ['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi','vendredi']
>>> print(jour)
['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']
• Comme les chaînes de caractères, les listes sont des séquences, c'est-à-dire
des collections ordonnées d'objets. On peut accéder à chacun d'entre eux
individuellement si l'on connaît son index dans la liste
Exemple :
>>> jour = ['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']
>>> print( jour[2])
mercredi
>>> print( jour[4])
20.357
Fonctions intégrées
• On peut donc remplacer certains éléments d'une liste par d'autres, comme ci-
dessous :
>>> jour[3] = 'Juillet'
>>> print(jour)
['lundi', 'mardi', 'mercredi', 'Juillet', 20.357, 'jeudi', 'vendredi']
• La fonction intégrée len() , que nous avons déjà rencontrée à propos des chaînes,
s'applique aussi aux listes. Elle renvoie le nombre d'éléments présents dans la liste :
>>> len(jour)
7
• Une autre fonction intégrée permet de supprimer d'une liste un élément
quelconque (à partir de son index). Il s'agit de la fonction del() :
>>> del(jour[4])
>>> print (jour)
['lundi', 'mardi', 'mercredi', 'juillet', 'jeudi', 'vendredi']
Fonctions intégrées
• Il est également tout à fait possible d'ajouter un élément à une liste, mais pour ce faire, il
faut considérer que la liste est un objet
>>> jour.append('samedi')
>>> print( jour)
['lundi', 'mardi', 'mercredi', 'juillet', 'jeudi', 'vendredi', 'samedi']
>>>
jour = ['dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi']
a, b = 0, 0
while a<25:
a=a+1
b=a%7
print( a, jour[b])