2-
2 - Les éléments de base
1. Livre: Apprendre à programmer avec Python3 de Gérard Swinnen
2. Le Mooc: Apprendre à coder en Python:
https://www.fun-mooc.fr/courses/course-v1:ulb+44013+session03/about
2
Plan
§Les variables
§L’affectation
§Les opérateurs
§Les entrées - Sorties
§Les structures conditionnelles
3
Les noms de variables
§ Les noms de variables sont des noms qu’on choisit assez librement
de préférence assez courts, mais aussi explicites que possible, pour
exprimer clairement ce que la variable est censée contenir :
§ Quelques règles pour les noms de variables sous Python :
1. 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.
2. 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é).
4
Les noms de variables
3. La casse est significative (les caractères majuscules et
minuscules sont distingués). Attention : prix, PRIX, Prix sont
donc des variables différentes.
4. Prenez l'habitude d'écrire l'essentiel des noms de variables en
caractères minuscules (y compris la première lettre). Il s'agit
d'une simple convention, mais elle est largement respectée.
N'utilisez les majuscules qu'à l'intérieur même du nom, pour
en augmenter éventuellement la lisibilité, comme dans
TableDesMatieres.
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 :
and assert break class continue def
del elif else except exec finally
for from global if import in
is lambda not or pass print
raise return try while yield
Noms de variables et mots réservés
6
Les types de variables en python
§ En python, le type de la variable est déterminé au moment de l’affectation.
Typage dynamique
§ Le type d’une variable peut changer au cours du temps.
§ On peut connaitre le type courant d’une variable avec la fonction type.
Syntaxe: type(nom_variable)
7
Type numériques
§ int et long : entier et entier long. La taille des entiers n'est limitée que par la
mémoire de la machine :
§ Bool: Deux valeurs possibles : False, True.
§ Float: Un float est noté avec un point décimal ou en notation exponentielle :
§ Les flottants supportent les mêmes opérations que les entiers.
8
Type numériques
§ complex, nombres complexes : 3.2+2.5j
• Les complexes sont écrits en notation cartésienne formée de deux flottants.
• La partie imaginaire est suffixée par j :
9
Fonctions mathématiques: le module math
§ Un module est une bibliothèque (un regroupement de fonctions prédéfinies) qui une
fois importée permet d’accéder à de nouvelles fonctions. Il en existe plusieurs en
python. :
o le module turtle qui permet de réaliser des dessins géométriques,
o le module numpy qui permet de faire du calcul scientifique,
o le module sympy qui permet de faire du calcul formel,
o le module matplotlib qui permet de faire des graphiques en tout genre.
o le module math 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
10
Importer le module math
Méthode 1 Méthode 2
11
Le module math
>>> import math
>>> help(math)
12
Type alphanumériques
• Le type « string » (chaîne de caractères)
Une donnée de type string est une suite quelconque de caractères délimitée
soit par des apostrophes (simple quotes), soit par des guillemets (double
quotes).
Exemple:
phrase1 = "l'ENSAK ?"
phrase2 = 'vous êtes'
phrase3 = "un étudiant de"
print (phrase2, phrase3, phrase1)
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
>>> print(' les étudiants de l'Ensak ')
les étudiants de l'Ensak
>>> print("ilham n oumaira")
ilham
oumaira
Python est pourvu de mécanismes qui permettent d'accéder séparément
à chacun des caractères d'une chaîne
Exemple :
>>> ch = "ENSAK"
>>> print (ch[0], ch[3]) #affiche EA
Accès aux caractères individuels d'une chaîne
14
Les opérateurs
15
Opérateurs arithmétiques
Opération Résultat
-x Opposé de x
x % y Reste de la division entière de x par y (mod)
x / y Division de x par y
x // y Division entière de x par y (div)
x * y Produit de x et y
x – y Différence de x et y
x + y Somme de x et y
x ** y x puissance y
16
Opérations sur les numériques
Opération Résultat
pow(x,y) x puissance y
divmod(x,y) La paire (x//y,x%y)
c.conjugate() Le conjugué de c (si c ℂ)
float(x) Conversion de x en flottant
long(x) Conversion de x en entier long
int(x) Conversion de x en entier
str(x) Conversion de x en chaîne de caractère
a,b= divmod(x,y)
Priorité des opérations
PEMDAS pour le mémoriser !
1. P pour parenthèses. Ce sont elles qui ont la plus haute priorité. Elles vous permettent donc de « forcer
» l'évaluation d'une expression dans l'ordre que vous voulez. Ainsi 2*(3-1) = 4 , et (1+1)**(5-2) = 8.
2. E pour exposants. Les exposants sont évalués avant les autres opérations. Ainsi 2**1+1 = 3 (et non 4),
et 3*1**10 = 3 (et non 59049 !).
3. M et D pour multiplication et division, qui ont la même priorité.
4. A et S pour addition et soustraction S
§ Si deux opérateurs ont la même priorité, l'évaluation est effectuée de gauche à droite.
18
Opérateurs de comparaison
Opération Résultat
x<y, x<=y x inférieur (ou égal) à y
x>y, x>=y x supérieur (ou égal) à y
x == y x égal ? y (valeurs)
x != y x différent de y
19
Opérateurs logiques
Opération Résultat
x or y, x and y OU et ET logiques
x | y x ou y
x & y x et y
x^ y x ou exclusif y
concaténation
a = 'Nous sommes des'
b = ' débutants en Python'
c = a + b
print (c)
len()
>>> print (len(c))
35
>>> ch = '8647'
>>> print (ch + 45)
==> *** erreur *** on ne peut pas additionner une chaîne et un nombre
>>> n = int(ch)
>>> print (n + 65)
8712 # OK : on peut additionner 2 nombres
Conversion en nombre d’une chaîne de caractères qui représente un nombre
Opérations élémentaires sur les chaînes
21
L’affectation
1. Livre: Apprendre à programmer avec Python3 de Gérard Swinnen
2. Le Mooc: Apprendre à coder en Python:
https://www.fun-mooc.fr/courses/course-v1:ulb+44013+session03/about
En Python comme dans de nombreux autres langages, l'opération d'affectation
est représentée par le signe égal :
>>> n = 7 # donner à n la valeur 7
>>> msg = "bonjour" # affecter la valeur »bonjour » à msg
>>> pi = 3.14 # assigner sa valeur à la variable pi
7 en binaire
"bonjour"
en binaire…
3,14159
en binaire
.
.
.
n
Pi
msg
@
@
@
Mémoire
Affectation (ou assignation)
23
Affectation (ou assignation)
§ Les trois instructions d'affectation ci-dessus ont eu pour effet chacune de réaliser plusieurs opérations
dans la mémoire de l'ordinateur :
o créer et mémoriser une valeur particulière ;
o créer et mémoriser un nom de variable ;
o lui attribuer un type bien déterminé
o établir un lien (par un système interne de pointeurs) entre le nom de la variable et l'emplacement
mémoire de la valeur correspondante
§ On peut mieux présenter tout cela par un diagramme d'état tel que celui-ci :
7 en binaire
« quoi de neuf »
en binaire…
3,14159
en binaire
.
.
.
n
Pi
msg
@
@
@
Mémoire
Affectation (ou assignation)
§ Les trois noms de variables sont des références, mémorisées dans une zone
particulière de la mémoire que l'on appelle espace de noms, alors que les valeurs
correspondantes sont situées ailleurs, dans des emplacements parfois fort éloignés
les uns des autres.
25
Exemples
§ L’instruction x = 3 crée une variable qui référencie un objet de type entier valant 3
§ L’instruction y =12 crée une variable qui référencie un objet de type entier valant 12
26
Exemples
§ L’instruction z = x ne crée aucun nouvel objet ; mais la variable z est créée et reçoit la
valeur de x, c’est-à-dire la référence vers l’objet de type entier et valant 3.
§ Après ces 3 premières instructions, le diagramme d’état suivant illustre la situation :
27
Exemples
§ A la fin du programme entier, 5 objets (de type) entiers ont été créés, dont ceux valant 6, 24
et 144 sont référencés respectivement par les variables x, y et z. Les objets valant 3 et 12 ne
sont plus accessibles et donc potentiellement récupérés par le système (garbage collector).
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.
Affectations multiples
29
Affectations multiples
30
Les entrées sorties
31
Les entrées
§ Il s’agit de réaliser une saisie à l’écran : la fonction standard input() interrompt le
programme, afficher une éventuelle invite et attend que l’utilisateur entre une
donnée et la valide par Entrée .
§ La fonction standard input() effectue toujours une saisie en mode texte (la saisie est
une chaîne) dont on peut ensuite changer le type (on dit aussi transtyper) :
§ Syntaxe:
Nom_variable = input("un texte qui invite l’utilisateur à entrer une donnée")
Print ("un texte qui invite l’utilisateur à entrer une donnée")
Nom_variable = input()
Ou bien on sépare, comme en algorithmique: d’abord Ecrire ensuite lire
32
Exemples
33
Les sorties
§ En mode « interactif», Python lit-évalue-affiche, mais la fonction print() reste
indispensable aux affichages dans les scripts :
34
Les paramètres de la fonction print
§ Précisons simplement ici qu'elle permet d'afficher n'importe quel nombre de valeurs fournies en
arguments (c'est-à-dire entre les parenthèses).
§ Par défaut, ces valeurs seront séparées les unes des autres par un espace, et le tout se terminera par
un saut à la ligne.
§ Vous pouvez remplacer le séparateur par défaut (l'espace) par un autre caractère quelconque (ou
même par aucun caractère), grâce à l'argument « sep »
35
Les paramètres de la fonction print
vous pouvez remplacer le saut à la ligne terminal avec l'argument « end » :
36
Les commentaires
37
Les commentaires
§ Pour rendre un script plus lisible pour les autres programmeurs qui voudraient comprendre son
fonctionnement, on peut rajouter des explications. Pour cela on peut, à la fin de chaque ligne de code,
mettre le caractère # suivi de texte explicatif. Ce texte s’appelle du commentaire et ne sera pas utilisé
par l’interpréteur.
§ Nous pouvons aussi, n’importe où, rajouter un commentaire multiligne entouré de 3 simples quottes
ou double quottes. Nous pouvons mettre une explication plus complète de ce que fait le script dans
ce qu’on appel un docstring initial :
o l’auteur
o la date
o le but du programme
o les données reçues (input)
o les résultats affichés (print)
38
Les commentaires: Syntaxe
§ Ligne de commentaire :
# Ceci est un commentaire
§ En fin de ligne :
a = 2 # Ceci est un commentaire
§ Commentaire sur plusieurs lignes:
" " "
On écrit le commentaire sur plusieurs lignes
" " "
39
Les commentaires: Exemple
Les structures conditionnelles
41
Structure conditionnelle
1ère forme de Si
2ème forme de Si
3ème forme de Si
42
Structure conditionnelle
43
If imbriqués
affiche“cas 1” quand a et b sont positifs, “cas 2” quand a
est positif et b négatif ou nul
Et N’affiche rien si a est négatif ou nul. Le else dépend
du second if.
Affiche “cas 1” quand a et b sont positifs, “cas 2” quand a
est négatif ou nul et donc rien quand
a est positif et b négatif ou nul. Le else dépend du premier
if.

2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf

  • 1.
    2- 2 - Leséléments de base 1. Livre: Apprendre à programmer avec Python3 de Gérard Swinnen 2. Le Mooc: Apprendre à coder en Python: https://www.fun-mooc.fr/courses/course-v1:ulb+44013+session03/about
  • 2.
    2 Plan §Les variables §L’affectation §Les opérateurs §Lesentrées - Sorties §Les structures conditionnelles
  • 3.
    3 Les noms devariables § Les noms de variables sont des noms qu’on choisit assez librement de préférence assez courts, mais aussi explicites que possible, pour exprimer clairement ce que la variable est censée contenir : § Quelques règles pour les noms de variables sous Python : 1. 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. 2. 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é).
  • 4.
    4 Les noms devariables 3. La casse est significative (les caractères majuscules et minuscules sont distingués). Attention : prix, PRIX, Prix sont donc des variables différentes. 4. Prenez l'habitude d'écrire l'essentiel des noms de variables en caractères minuscules (y compris la première lettre). Il s'agit d'une simple convention, mais elle est largement respectée. N'utilisez les majuscules qu'à l'intérieur même du nom, pour en augmenter éventuellement la lisibilité, comme dans TableDesMatieres.
  • 5.
    En plus deces 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 : and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while yield Noms de variables et mots réservés
  • 6.
    6 Les types devariables en python § En python, le type de la variable est déterminé au moment de l’affectation. Typage dynamique § Le type d’une variable peut changer au cours du temps. § On peut connaitre le type courant d’une variable avec la fonction type. Syntaxe: type(nom_variable)
  • 7.
    7 Type numériques § intet long : entier et entier long. La taille des entiers n'est limitée que par la mémoire de la machine : § Bool: Deux valeurs possibles : False, True. § Float: Un float est noté avec un point décimal ou en notation exponentielle : § Les flottants supportent les mêmes opérations que les entiers.
  • 8.
    8 Type numériques § complex,nombres complexes : 3.2+2.5j • Les complexes sont écrits en notation cartésienne formée de deux flottants. • La partie imaginaire est suffixée par j :
  • 9.
    9 Fonctions mathématiques: lemodule math § Un module est une bibliothèque (un regroupement de fonctions prédéfinies) qui une fois importée permet d’accéder à de nouvelles fonctions. Il en existe plusieurs en python. : o le module turtle qui permet de réaliser des dessins géométriques, o le module numpy qui permet de faire du calcul scientifique, o le module sympy qui permet de faire du calcul formel, o le module matplotlib qui permet de faire des graphiques en tout genre. o le module math 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
  • 10.
    10 Importer le modulemath Méthode 1 Méthode 2
  • 11.
    11 Le module math >>>import math >>> help(math)
  • 12.
    12 Type alphanumériques • Letype « string » (chaîne de caractères) Une donnée de type string est une suite quelconque de caractères délimitée soit par des apostrophes (simple quotes), soit par des guillemets (double quotes). Exemple: phrase1 = "l'ENSAK ?" phrase2 = 'vous êtes' phrase3 = "un étudiant de" print (phrase2, phrase3, phrase1) 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 >>> print(' les étudiants de l'Ensak ') les étudiants de l'Ensak >>> print("ilham n oumaira") ilham oumaira
  • 13.
    Python est pourvude mécanismes qui permettent d'accéder séparément à chacun des caractères d'une chaîne Exemple : >>> ch = "ENSAK" >>> print (ch[0], ch[3]) #affiche EA Accès aux caractères individuels d'une chaîne
  • 14.
  • 15.
    15 Opérateurs arithmétiques Opération Résultat -xOpposé de x x % y Reste de la division entière de x par y (mod) x / y Division de x par y x // y Division entière de x par y (div) x * y Produit de x et y x – y Différence de x et y x + y Somme de x et y x ** y x puissance y
  • 16.
    16 Opérations sur lesnumériques Opération Résultat pow(x,y) x puissance y divmod(x,y) La paire (x//y,x%y) c.conjugate() Le conjugué de c (si c ℂ) float(x) Conversion de x en flottant long(x) Conversion de x en entier long int(x) Conversion de x en entier str(x) Conversion de x en chaîne de caractère a,b= divmod(x,y)
  • 17.
    Priorité des opérations PEMDASpour le mémoriser ! 1. P pour parenthèses. Ce sont elles qui ont la plus haute priorité. Elles vous permettent donc de « forcer » l'évaluation d'une expression dans l'ordre que vous voulez. Ainsi 2*(3-1) = 4 , et (1+1)**(5-2) = 8. 2. E pour exposants. Les exposants sont évalués avant les autres opérations. Ainsi 2**1+1 = 3 (et non 4), et 3*1**10 = 3 (et non 59049 !). 3. M et D pour multiplication et division, qui ont la même priorité. 4. A et S pour addition et soustraction S § Si deux opérateurs ont la même priorité, l'évaluation est effectuée de gauche à droite.
  • 18.
    18 Opérateurs de comparaison OpérationRésultat x<y, x<=y x inférieur (ou égal) à y x>y, x>=y x supérieur (ou égal) à y x == y x égal ? y (valeurs) x != y x différent de y
  • 19.
    19 Opérateurs logiques Opération Résultat xor y, x and y OU et ET logiques x | y x ou y x & y x et y x^ y x ou exclusif y
  • 20.
    concaténation a = 'Noussommes des' b = ' débutants en Python' c = a + b print (c) len() >>> print (len(c)) 35 >>> ch = '8647' >>> print (ch + 45) ==> *** erreur *** on ne peut pas additionner une chaîne et un nombre >>> n = int(ch) >>> print (n + 65) 8712 # OK : on peut additionner 2 nombres Conversion en nombre d’une chaîne de caractères qui représente un nombre Opérations élémentaires sur les chaînes
  • 21.
    21 L’affectation 1. Livre: Apprendreà programmer avec Python3 de Gérard Swinnen 2. Le Mooc: Apprendre à coder en Python: https://www.fun-mooc.fr/courses/course-v1:ulb+44013+session03/about
  • 22.
    En Python commedans de nombreux autres langages, l'opération d'affectation est représentée par le signe égal : >>> n = 7 # donner à n la valeur 7 >>> msg = "bonjour" # affecter la valeur »bonjour » à msg >>> pi = 3.14 # assigner sa valeur à la variable pi 7 en binaire "bonjour" en binaire… 3,14159 en binaire . . . n Pi msg @ @ @ Mémoire Affectation (ou assignation)
  • 23.
    23 Affectation (ou assignation) §Les trois instructions d'affectation ci-dessus ont eu pour effet chacune de réaliser plusieurs opérations dans la mémoire de l'ordinateur : o créer et mémoriser une valeur particulière ; o créer et mémoriser un nom de variable ; o lui attribuer un type bien déterminé o établir un lien (par un système interne de pointeurs) entre le nom de la variable et l'emplacement mémoire de la valeur correspondante § On peut mieux présenter tout cela par un diagramme d'état tel que celui-ci :
  • 24.
    7 en binaire «quoi de neuf » en binaire… 3,14159 en binaire . . . n Pi msg @ @ @ Mémoire Affectation (ou assignation) § Les trois noms de variables sont des références, mémorisées dans une zone particulière de la mémoire que l'on appelle espace de noms, alors que les valeurs correspondantes sont situées ailleurs, dans des emplacements parfois fort éloignés les uns des autres.
  • 25.
    25 Exemples § L’instruction x= 3 crée une variable qui référencie un objet de type entier valant 3 § L’instruction y =12 crée une variable qui référencie un objet de type entier valant 12
  • 26.
    26 Exemples § L’instruction z= x ne crée aucun nouvel objet ; mais la variable z est créée et reçoit la valeur de x, c’est-à-dire la référence vers l’objet de type entier et valant 3. § Après ces 3 premières instructions, le diagramme d’état suivant illustre la situation :
  • 27.
    27 Exemples § A lafin du programme entier, 5 objets (de type) entiers ont été créés, dont ceux valant 6, 24 et 144 sont référencés respectivement par les variables x, y et z. Les objets valant 3 et 12 ne sont plus accessibles et donc potentiellement récupérés par le système (garbage collector).
  • 28.
    Sous Python, onpeut 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. Affectations multiples
  • 29.
  • 30.
  • 31.
    31 Les entrées § Ils’agit de réaliser une saisie à l’écran : la fonction standard input() interrompt le programme, afficher une éventuelle invite et attend que l’utilisateur entre une donnée et la valide par Entrée . § La fonction standard input() effectue toujours une saisie en mode texte (la saisie est une chaîne) dont on peut ensuite changer le type (on dit aussi transtyper) : § Syntaxe: Nom_variable = input("un texte qui invite l’utilisateur à entrer une donnée") Print ("un texte qui invite l’utilisateur à entrer une donnée") Nom_variable = input() Ou bien on sépare, comme en algorithmique: d’abord Ecrire ensuite lire
  • 32.
  • 33.
    33 Les sorties § Enmode « interactif», Python lit-évalue-affiche, mais la fonction print() reste indispensable aux affichages dans les scripts :
  • 34.
    34 Les paramètres dela fonction print § Précisons simplement ici qu'elle permet d'afficher n'importe quel nombre de valeurs fournies en arguments (c'est-à-dire entre les parenthèses). § Par défaut, ces valeurs seront séparées les unes des autres par un espace, et le tout se terminera par un saut à la ligne. § Vous pouvez remplacer le séparateur par défaut (l'espace) par un autre caractère quelconque (ou même par aucun caractère), grâce à l'argument « sep »
  • 35.
    35 Les paramètres dela fonction print vous pouvez remplacer le saut à la ligne terminal avec l'argument « end » :
  • 36.
  • 37.
    37 Les commentaires § Pourrendre un script plus lisible pour les autres programmeurs qui voudraient comprendre son fonctionnement, on peut rajouter des explications. Pour cela on peut, à la fin de chaque ligne de code, mettre le caractère # suivi de texte explicatif. Ce texte s’appelle du commentaire et ne sera pas utilisé par l’interpréteur. § Nous pouvons aussi, n’importe où, rajouter un commentaire multiligne entouré de 3 simples quottes ou double quottes. Nous pouvons mettre une explication plus complète de ce que fait le script dans ce qu’on appel un docstring initial : o l’auteur o la date o le but du programme o les données reçues (input) o les résultats affichés (print)
  • 38.
    38 Les commentaires: Syntaxe §Ligne de commentaire : # Ceci est un commentaire § En fin de ligne : a = 2 # Ceci est un commentaire § Commentaire sur plusieurs lignes: " " " On écrit le commentaire sur plusieurs lignes " " "
  • 39.
  • 40.
  • 41.
    41 Structure conditionnelle 1ère formede Si 2ème forme de Si 3ème forme de Si
  • 42.
  • 43.
    43 If imbriqués affiche“cas 1”quand a et b sont positifs, “cas 2” quand a est positif et b négatif ou nul Et N’affiche rien si a est négatif ou nul. Le else dépend du second if. Affiche “cas 1” quand a et b sont positifs, “cas 2” quand a est négatif ou nul et donc rien quand a est positif et b négatif ou nul. Le else dépend du premier if.