Programmation Impérative Introduction Python et Variables

Programmation Impérative
Introduction Python et
Variables
6
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Début en 1989-1990
Écrit en C
Versions « précédentes »
1.5.2 : 1999
2.0 : 2000
2.7.10 : 2015
3.0 : 2008
3.5 : septembre 2015
salles de TP : version 3.2 (quelques différences)
De plus en plus utilisé dans le monde scientifiques
Tous types d'utilisations
faire des calculs, des statistiques
interfaces graphiques
jeux
sites webs (
django
, )
7
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
>_ bash
Notre Second Langage : Python 3
Langage tous usages
ordre (principal) = manipuler des variables, fonctions
ordre = lancer d'autres programmes
simple à apprendre mais complet
disponible sur Linux, Mac, Windows
beaucoup de "bibliothèques"
Langage interprété (Python, bash, PERL, )
écriture du programme dans un fichier
exécution de l'interpréteur sur ce fichier (textuel)
exemple :
python3 programme.py
Rappel : langage compilé (C, C++, Ada, )
écriture du programme dans un fichier
lancement du
compilateur
sur ce fichier
lecture du fichier (textuel)
transformation vers du langage machine
sauvegarde dans un nouvel exécutable (binaire)
lancement de l'exécutable créé
8
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Programmation Impérative
3
: Plan
Historique de Python
Premiers programmes Python
Variables et types
Instructions conditionnelles
Listes de valeurs
Interaction avec l'utilisateur
Premiers Programmes Python
Affichage et types
1
print(
42
)
2
print(
42
)
3
print
(
42
)
4
print(
"Hello bob"
)
5
print(
"Hello bob"
)
6
print(
"42"
)
7
print(
"nombre ="
,
42
)
8
print(
""
)
9
print(
42.42
)
Commentaires
1
# toute cette ligne est un commentaire
2
print(
42
)
# cette fin de ligne est un commentaire
3
# print(42) toute cette ligne est un commentaire
Opérations arithmétiques
1
print(
40
+
2
)
2
print(
42
*
1.01
)
3
print(
42.42
/
1.01
)
4
print(
2
+
4
*
10
)
# priorité
5
print(
42
**
2
)
# puissance : 42²
6
print(
42
**
0.5
)
# racine ! : √42
7
print((
2
+
4
)*
10
)
# parenthèses
8
print(
41
*
1.01
)
9
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
10
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Programmation Impérative
3
: Plan
Historique de Python
Premiers programmes Python
Variables et types
Instructions conditionnelles
Listes de valeurs
Interaction avec l'utilisateur
11
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
>_ bash
>_ bash
>_ bash
Types et Variables
Toute valeur a un type
ex :
12
est un entier mais
"12"
est une chaîne de caractères
types principaux en python
int
: entier
float
: nombre réel (à virgule flottante)
complex
: nombre complexes (
a
+
b
j
)
str
: string, chaîne de caractères (simple ou double guillemets)
list
: liste de valeurs
dict
: dictionnaire, conteneur associatif
(toutes les valeurs sont des chaînes de caractères)
Variable : un nom pour une valeur
affectation de variable
a="tp1"
,
a = "tp1"
,
a = 12
dossier = 'tp1'
,
dep = 40 + 2
dossier=tp1
utilisation de variables
print(dossier)
,
print(dep)
,
print(dep**dep)
texte par défaut,
$
pour les variables :
echo texte ${dossier}
variables par défaut, systématiquement des guillemets pour le texte
12
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Exemple de Variables en Python
Programme du TP1
1
x =
1
2
y =
100
3
a =
0.2
4
res = x + a * y
5
print(
"res = "
, res)
Carrés des nombres
1
i =
1
2
print(i,
"a pour carré"
, i*i)
3
i =
2
4
print(i,
"a pour carré"
, i*i)
5
i =
3
6
print(i,
"a pour carré"
, i*i)
7
i =
4
8
print(i,
"a pour carré"
, i*i)
9
i =
5
10
print(i,
"a pour carré"
, i*i)
11
i =
6
12
print(i,
"a pour carré"
, i*i)
13
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Python : Typage Fort et Dynamique
Typage dynamique en Python
chaque valeur a un type
les variables ont le type des valeurs qu'on leur affecte
1
i =
"bonjour"
# type str
2
i =
42
# puis type int
3
print(type(i))
# <- type() pour obtenir le type
typage statique (C) : un type à chaque variable, une fois pour toutes
Typage fort en Python
certaines opérations entre types sont interdites
ex :
"salut" / 42
elles causent des erreurs à l'exécution
les opérations permises dépendent des types, ex :
a * b
permis ?
nb * nb ok, ex :
40 * 1.05
str * int ok, ex :
"la" * 42
list * int ok
str * str non
14
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Noms de Variables et Mots Clés
Noms de variables :
ex :
a
truc
objet2
maVariable
ma_variable
ne contient que des lettres, chiffres et
_
ne doit pas commencer par un chiffre
Mots clés
mots ayant une sémantique spéciale
False
None
True
and
as
assert
break
class
continue
def
del
elif
else
except
finally
for
from
global
if
import
in
is
lambda
nonlocal
not
or
pass
raise
return
try
while
with
yield
Interdits comme nom de variable (ou fonction)
20
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Programmation Impérative
3
: Plan
Historique de Python
Premiers programmes Python
Variables et types
Instructions conditionnelles
Listes de valeurs
Interaction avec l'utilisateur
21
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Instructions Conditionnelles
if
else
Instruction conditionnelle
besoin d'exécuter une partie du programme ou une autre
selon une condition
Instructions
if
en Python
1
unites =
42
2
prixUnitaire =
9.50
3
4
if
unites*prixUnitaire <
400
:
5
reste =
400
- unites*prixUnitaire
6
print(
"C est bon, il te reste"
, reste)
7
print(
"Fin de la transaction"
)
Instructions
if…else
(sisinon)
1
2
if
unites*prixUnitaire <
400
:
3
reste =
400
- unites*prixUnitaire
4
print(
"C est bon, il te reste"
, reste)
5
else
:
6
print(
"Non...."
)
7
print(
"Fin de la transaction"
)
22
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Importance de l'Indentation en Python
Indentation : nombres d'espaces en début de ligne
Bonnes pratiques (tous languages)
l'identation reflète la structure du programme
chaque « bloc » est indenté par rapport à son parent
ex : les sous parties de
if
ont plus d'espaces
En Python : indentation = bloc
obligation
d'indenter correctement
le contenu du
if
(et
else
)
doivent
avoir plus d'espaces
Conseils
indenter avec 4 espaces
ne jamais utiliser de tabulations
23
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
F
et
F ... vaut ... F
V
et
F ... vaut ... F
V
et
V ... vaut ... V
F
ou
F ... vaut ... F
V
ou
F ... vaut ... V
V
ou
V ... vaut ... V
non
V ... vaut ... F
non
F ... vaut ... V
Logique Booléenne
“Mathématiquement”
1
2
<
1
3
est vrai (valeur booléenne V)
1
1
1
0
est faux (valeur booléenne F)
Opérateurs booléens
et
,
ou
,
non
En Python
constante
True
et
False
, opérateurs booléens
and
,
or
,
not
opérateurs de comparaison :
==
<
>
<=
>=
!=
1
enPanne =
False
2
carburant =
25.42
3
4
if
carburant >
5
and
not
enPanne:
5
print(
"Tout va bien"
)
Retour sur l'Instruction
if
de Python
Structure à suivre pour
if
1
if
«cond»:
2
«instr»
# si cond est True
3
«instr»
# si cond est True
4
# si cond est True
5
# après le if
1
if
«cond»:
2
«instr»
# si cond est True
3
# si cond est True
4
else
:
5
«instr»
# si cond est False
6
# si cond est False
7
# apres le if
«cond» est une condition booléenne
«instr» représente n'importe quelle instruction Python
les
:
sont obligatoire
l'indentation (devant «instr») est obligatoire
la désindentation marque la fin du
if
24
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
25
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Programmation Impérative
3
: Plan
Historique de Python
Premiers programmes Python
Variables et types
Instructions conditionnelles
Listes de valeurs
Interaction avec l'utilisateur
26
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Listes en Python
Liste
peut aussi être appelée « tableau »
conteneur d'éléments
une liste contient des éléments
Exemples de listes
1
l1 = [
10
,
13
,
9
,
4
,
15
]
2
l1bis = [
10
,
13
,
9
,
4
,
15
]
3
l2 = [
"bonjour"
,
"salut"
,
"hello"
,
"hola"
]
1
l3 = [
"pi"
,
3.141592
,
"echap"
,
16777216
]
2
listeVide = []
1
e =
2.7
2
x =
42.42
3
message =
"hello"
4
l = [e, x, message,
"autre"
, e, x*e]
5
...
Opérations sur les Listes : accès simple
Accès à un élément : «variable»
[
«indice»
]
(ex:
l1bis[2]
)
lecture/écriture
indices commençant à 0 !
1
l = [
"premier"
,
"second"
,
"dernier"
]
2
print(l[
0
])
# premier
3
print(l[
2
])
# dernier
4
5
l[
1
] =
"DEUXIEME"
6
print(l[
1
])
# DEUXIEME
7
print(l)
# ['premier', 'DEUXIEME', 'dernier']
Longueur d'une liste, fonction
len()
nombre d'éléments dans la liste
1
print( len(l) )
# 3
2
print( len([]) )
# 0
3
print( len( [
"hello"
] ) )
# 1
Test d'appartenance à une liste, mot clé
in
1
l = [
"un"
,
"deux"
,
"trois"
]
2
print(
'un'
in
l,
'quatre'
in
l)
# True False
27
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
28
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Opérations sur les listes
Concaténation de deux listes et répétition d'une liste
opérateur
+
: «liste»
+
«liste»
opérateur
*
: «liste»
*
«entier»
Ajout d'un élément à la fin
fonction
append
: «liste»
.append(
«element»
)
Statistiques
fonctions
sum
/
min
/
max
: par ex.
sum(
«liste»
)
, ...
1
A = [
1
,
2
,
3
]
2
B = [
4
,
5
]
3
print(A + B)
# [1, 2, 3, 4, 5]
4
print(B *
3
)
# [4, 5, 4, 5, 4, 5]
5
6
y = A + B
7
y.append(
42
)
8
print(y)
# [1, 2, 3, 4, 5, 42]
9
10
y[
0
] =
0
11
y = y + [
3.14
]
12
print(y)
# [0, 2, 3, 4, 5, 42, 3.14]
13
print(max(y))
# 42
32
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Programmation Impérative
3
: Plan
Historique de Python
Premiers programmes Python
Variables et types
Instructions conditionnelles
Listes de valeurs
Interaction avec l'utilisateur
33
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Entrée Utilisateur : la Fonction
input
But : rendre un programme interactif
Comment : demander à l'utilisateur de taper du texte
Fonction
input(invite)
affiche l'invite à l'utilisateur
attend que l'utilisateur tape du texte et valide avec « entrée »
renvoie la chaîne tapée par l'utilisateur
Exemple
1
nom = input(
"Entrez votre nom : "
)
2
msg = input(
"Entrez un message : "
)
3
print(
"Yo"
, nom,
"! Tu as dit «"
, msg,
"»"
)
Le programme est interactif !
Faut-il utiliser la fonction
input
?
plus « fun »
mais moins automatisable
34
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
Lecture de Nombres : Conversions
input()
renvoie une chaîne de caractères
1
nb = input(
"Entrez un nombre : "
)
# 5
2
msg = input(
"Entrez un message : "
)
# Poum Tchak
3
print( nb * msg )
# erreur chaine*chaine
But : conversion stringnombre (pas limité au cas de
input
)
fonction
int(chaine)
renvoie un entier
fonction
float(chaine)
renvoie un flottant (réel)
fonction
str(truc)
renvoie une string
1
print( int(
"123"
) ==
123
)
# True
2
print( float(
"42.12"
) ==
42.1200
)
# True
3
print( int(nb) * msg)
# ok!
1
age_string = input(
"Quel est votre age ? "
)
2
suivant = int(age_string) +
1
3
suivant_str = str(suivant)
4
print(
"Vous allez avoir "
+ suivant_str +
" ans !"
)
35
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
>_ bash
Paramètres d'un Programme
But : l'utilisateur donne des paramètres au programme
bash creer-tp.bash tp1 tp2
accès aux paramètres avec
${1}
,
${2}
, ... et
$@
python3 monprog.py poum tchak 5
importation du « module »
sys
(détails plus tard)
sys.argv
contient une liste avec
le nom du fichier .py
puis les paramètres
chaque paramètre est une chaîne de caractères
1
import
sys
2
3
print(sys.argv)
4
# ["monprog.py", "poum", "tchak", "5"]
5
print(len(sys.argv))
6
# 4 (le nom du fichier + 3 paramètres)
7
8
texte = sys.argv[
1
] +
"-"
+ sys.argv[
2
] +
" "
9
nb = int(sys.argv[
3
])
# conversion vers un entier
10
print(nb * texte)
Points Clés
Variables
en programmation impérative
Types de base et variables en Python
Logique booléenne
Instruction conditionnelle
(
if
/
else
)
Type liste et opération sur les listes
Fonctions prédéfinies
len
,
sum
,
range
, ...
Fonctions de variables
ma_liste.append(...)
Entrée utilisateur avec la fonction
input
Paramètre de programme avec la liste
sys.argv
36
/
36
Rémi Emonet
Programmation Impérative Introduction Python et Variables
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !