Initiation à la programmation Python

Computer Science - Programming · course

Voir tous les documents en programmation

Initiation à la

programmation python

Séance visioconférence 1 Date : 24/10/2020 à 15h

Enseignante Tutrice : Mme Mansouri L.

Partie abordée :

Module 1:Introduction générale et les concepts de base

Module 2: les structures de contrôle

Module 3 : Les fonctions

Module 4: Les séquences

Contenu du module 1: introduction générale et

concepts de base

Présentation de python :

▪ c’est quoi python

L’affichage et la saisie des données

▪ Les caractéristiques de python

Les variables

▪ Ce qu’on peut faire avec

▪ Mode interactif et mode script

Installation de Python 3 (sur windows)

La calculatrice Python

▪ L’affectation

▪ Les types de données

▪ Les fonctions de conversion

des types

Quelques règles de syntaxe python

Python?

 créé en 1989 par Guido van Rossum, aux Pays-Bas.

 La première version publique publiée en 1991.

 La dernière version de Python :la version 3.9

 Python 3 n'est pas rétro-compatible avec python2 : Il a

rompu la compatibilité avec les versions antérieures!

Les caractéristiques de python

 Il est multiplateforme : C’est-à-dire qu’il fonctionne sur de nombreux systèmes

d’exploitation : Windows, Mac OS, Linux, Android, iOS, depuis les mini-ordinateurs

Raspberry Pi jusqu’aux supercalculateurs.

 Il est gratuit

 La syntaxe de Python est très simple et, combinée avec des types de donnée

évolués (listes, dict,...), conduit à des programmes à la fois compacts et lisibles.

 C’est un langage interprété

 Python n'est pas très rapide (car interprété), mais il y a des librairies C disponibles

comme Numpy qui permettent de faire des programmes en langage python qui

sont très rapides et efficaces en termes de mémoire.

 Extensible : Python a déjà une multitude de librairies et de modules par défaut..

De plus, il est toujours possible d’en développer pour ses propres besoins.

 Il est orienté objet

 Il est très utilisé en bio-informatique et plus généralement en analyse de données.

Utilisation de l’interpréteur comme simple calculatrice

6

>>> 22 / 3

7.333333333333333

>>> 22//3

7

>>> -6 // 5

-2

>>> 12.8 // 1.1

11.0

>>> 13 % 3

1

Saisie de données au clavier

7

La fonction input

Elle provoque une interruption dans le programme courant où l’utilisateur est invité à

entrer des données au clavier et à terminer avec <Enter>. L’exécution du programme

se poursuit alors et la fonction fournit en retour les valeurs entrées par l’utilisateur.

La fonction input est soit, sans paramètre ou soit, avec un seul paramètre, une chaîne

de caractères, lequel est un message explicatif destiné à l’utilisateur.

>>> nom = input("Entrez votre nom (entre guillemets) :")

>>> print (nom)

La chaîne de caractères est entrée entre des apostrophes ou des guillemets.

Identificateur de variable

8

Règles à respecter pour les noms de variables

Une séquence de lettres (a → z, A → Z) et de chiffres (0 à 9) qui doit toujours

commencer par une lettre. Le symbole _ est considéré comme une lettre.

Aucune lettre accentuée, cédille, espace, caractère spécial à l’exception

du caractère souligné _.

Les minuscules et les majuscules sont des lettres différentes.

Exemple :

Identificateurs valides :Variable_entiere, entier1, mot_en_francais

Identificateurs invalides : 1er_entier,nom.2, nom de variable, deuxième_entier,a-b.

Éviter d’utiliser le symbole _ comme 1er caractère car il peut être utilisé pour

définir des entités spéciales pour Python.

9

Les 28 mots réservés ci-dessous ne peuvent être utilisés comme nom de

variable :

Attention :

Bien que la longueur des identificateurs ne soit plus un problème dans les

langages de programmation d’aujourd’hui, utilisez des noms de taille

raisonnable ayant une signification.

Il peut exister des limites qui peuvent changer d’un interpréteur à l’autre.

Opérateur d’affectation =

10

Syntaxe :

identificateur_de_variable = expression

Exemple :

>>> x1 = 8

>>> x2 = x1 - 5

>>> x1 = x1 + 1

>>> print (x1, x2)

9 3

>>>

Note :

Pour définir le type des variables avant de pouvoir les utiliser, il suffit

d’assigner une valeur à un nom de variable pour que celle-ci soit

automatiquement créée avec le type qui correspond le mieux à la valeur

Publicité

fournie. Python possède donc un typage dynamique et non un typage

statique .

Opérateurs d’affectation +=, -=, =, /=, %=, *=, //=

11

L’évaluation d’une expression et une affectation sont combinées.

Équivaut à x = x ** 2.

Exemple :

>>> x = 5

>>> x **= 2

>>> x

25

>>> x %= 3

>>> x

1

>>> x //= 2

>>> x

0

>>>

Note :

Python ne comporte pas les opérateurs ++ et --.

Types de données

12

Type « int »

Les entiers ordinaires de Python correspondent aux entiers standards.

La plupart des machines (32 bits) sur lesquelles s’exécute Python permettent de

coder tous les entiers entre -231 et 231 – 1, i.e. -2 147 483 648 et 2 147 483 647.

Normalement, les entiers sont représentés en format décimal en base 10, mais

on peut aussi les spécifier à l’aide de leur représentation en base 8 ou 16.

Type «float»

Les données ayant un point décimal ou un exposant de 10.

Ex. :3.14159

-12. 13 2e13

0.3e-11

Cela permet de manipuler des nombres positifs ou négatifs compris entre 10-308

et 10308 avec une précision de 12 chiffres significatifs.

Type « str »

13

Une chaine de caractères (str) est une séquence de caractères, délimitée

par des guillemets dans sa forme littérale (simple ' ou double "). On peut

généralement utiliser indifféremment l'un ou l'autre type de guillemets

Exemples : ch1="python"

ch2='cours python'

Types de données élémentaires

14

Type « bool »

Les valeurs booléennes True ou False constituent un cas particulier des entiers.

Dans un contexte numérique tel qu’une addition avec d’autres nombres, True est

traité comme un entier valant 1, et False a la valeur 0.

Type « complex »

Cela représente des nombres complexes de la forme a + b j où

a et b sont des réels en virgule flottante, a représente la partie

réelle, b la partie imaginaire et j2 = -1.

Exemples :

6.25 + 2.3j

-4.37 + 13J

0 + 1j

1 + 0j

Fonctions de conversion des types

 Il est possible de convertir explicitement une donnée d'un type vers un autre, en

utilisant des fonctions prédéfinies. (dites, "fonctions de transtypage") :

 la fonction str() : convertit une variable en chaîne de caractères.

 la fonction int() : convertit une variable en nombre entier.

 la fonction float() : convertit une variable en nombre réel (encore appelé nombre à

virgule flottante).

 La foncion complex() : convertit en complex

QUELQUES RÈGLES DE SYNTAXE PYTHON

▪ Les limites des instructions et des blocs sont définies par la mise en page .

▪ Un commentaire Python commence toujours par le caractère spécial #.

▪ Instruction composée : en-tête, double point, bloc d'instruction

Exemple

▪ Les blocs d'instructions sont toujours associés à une ligne d'en-tête contenant une instruction bien

spécifique (if, elif, else, while, def, etc.) se terminant par un double point.

▪ Les blocs sont délimités par l'indentation : toutes les lignes d'un même bloc doivent être indentées

exactement de la même manière (c'est-à-dire décalées vers la droite d'un même nombre d'espaces).

16

Contenu du module 2: Les structures de contrôle

Les structures conditionnelles

Les structures itératives

▪ boucle while

▪ boucle for

Rupture des séquence

▪Break

▪ continue

La structure complète if

if condition1:

traitement1

elif condition2:

traitement2

elif condition3:

traitement3

...

else:

traitement4

Les structures itératives

La boucle while :

while cond :

instruction 1

...

instruction n

Les structures itératives

La boucle for :

for x in ensemble:

instruction 1

...

Publicité

instruction n

for x in range (val_min,val_max,nbre_pas)

instruction 1

...

instruction n

 while – else/ for - else

Les boucles while et for peuvent posséder une clause else qui ne s’exécute que si la

boucle se termine normalement, c’est-à-dire sans interruption :

Exemple :

total_sum = 0

a = int(input("donner une valeur:"))

while a != 0:

total_sum += a

if total_sum >= 21:

print('Total sum is', total_sum)

break

a = int(input("donner une somme :"))

else:

print('Total sum is less than 21 and is equal to', total_sum, '.')

L’instruction break

L’instruction break permet de sortir immédiatement de la boucle for ou while

en cours contenant l’instruction

for x in range(1, 11):

if x == 5:

break

print("x= ",x)

La boucle sera interrompue à la valeur

de x = 5 et on aura l’affichage de ces

valeurs seulement :

x =1

x=2

x=3

x=4

L’instruction continue

L’instruction continue passe immédiatement à l’itération suivante

de la boucle for ou while en cours contenant l’instruction et

reprend à la ligne de l’en-tête de la boucle

for x in range(1, 7):

if x == 5:

continue

print("x= ",x)

On aura cet affichage :

x=1

x=2

x=3

x=4

x=6 # la boucle a sauté la valeur 5

Contenu du module 3: Les fonctions

1. Définition et syntaxe

2. Appel d’une fonction

3. Portée des variables

4. La fonction lambada

Syntaxe et déclaration

def nomDeLaFonction(liste de paramètres):

Remarques :

...

bloc d'instructions

...

▪ Le bloc d’instructions est

obligatoire. S’il est vide, on

emploie l’instruction pass.

▪ La valeur de retour est définie

en utilisant le mot-clé return.

▪ On peut définir des valeurs

d’argument par défaut

▪ On peut retourner plusieurs

valeurs.

Exemples

def sum(i1, i2=10):

result = 0

for i in range(i1, i2 + 1):

result += i

return result

def Ordre(number1, number2):

if number1 < number2:

return number1, number2

else:

return number2, number1

Appel d’une fonction

Variable=nom_fonction(liste_param_reel);

mécanisme:

La portée des variables

 La portée d’une variable est la partie du programme où la variable peut

être utilisée et y accéder.

 Une variable créée à l’intérieur d’une fonction est appelée une variable

locale.

Les variables locales ne sont accessibles que dans une fonction.

 La portée d’une variable locale commence à partir de sa création et

continue jusqu’à la fin de la fonction qui contient la variable.

 En Python, on peut également utiliser des variables globales.

Imbrication des fonctions

Il est possible de définir une fonction dans une autre fonction. Dans ce cas, elle est locale à la fonction, elle

n’est pas visible à l’extérieur.

30

La fonction lambada

▪ Les lambdas Python sont de petites fonctions anonymes (essentiellement utilisé dans les

calculs mathématiques).

▪ des fonctions extrêmement courtes car limitées à une seule instruction.

▪ pas de return, l'expression est automatiquement retournée

▪ pas d'instructions, seulement une expression (par exemple : for, if, while ne sont admis ! )

Syntaxe

Exemples:

lambda arg1, arg2,… : instruction de retour

F(x)=x2

F(x,y)=x2+

Publicité

y

F=lambda x: x**2

Print(F(3))

F=lambda x, y : x**2 + y

Print(F(3,5))

9

14

31

Contenu du module 4: Les séquences

1. Les chaines

2. Les listes

3. Les tuples

Une séquence est un conteneur ordonné d’éléments indexés par des entiers

indiquant leur position dans le conteneur.

Un objet mutable est un objet qui peut être modifié, dont on peut changer les

propriétés une fois qu’il a été défini.

Les types immutables : bool, int, str, bytes, tuple, range et frozenset .

Les types mutables : Tous les autres types, les listes, les dictionnaires, ou les

instances de vos propres classes.

Opérations communes à toutes les séquences

La notation en slice

La notation en slice permet d’omettre certaines valeurs.

S[:b] # de l’indice 0 jusqu’à b

S[a:] # de l’indice a jusqu’à la fin

S[:] # toute la séquence

S[::p] # tous les p termes de la séquence du début à la fin

S[-1:-len(S)-1:-1] # la séquence renversée

Exemple de slicing

s = "Rayons-X"

s = "Rayons-X"

Exemple

s = "Rayons-X"

print(s[1:4]) # de l'index 1 compris à 4 non compris : 'ayo'

print(s[-2:] ) # de l'index -2 compris à la fin : '-X'

print(s[:3]) # du début à l'index 3 non compris : 'Ray'

print(s[3:]) # de l'index 3 compris à la fin : 'ons-X'

print(s[::2]) # du début à la fin, de 2 en 2 : 'Ryn-'

Les chaines de caractères

Opérations sur les chaines

• Longueur :

s = "abcde"

len(s) # affiche 5

• Concaténation:

s1 = "abc"

s2 = "defg"

s3 = s1 + s2 # s3 sera égale à 'abcdefg'

• Répétition :

s4 = "bien! "

s5 = s4 * 3

s5= 'bien! bien! bien! '

Quelques méthodes sur les chaines

méthode

description

lower()

Mets la chaîne en minuscules

upper()

prmet de mettre une chaîne de

caractères en majuscules

capitalize()

Mets la 1ere lettre de la chaine en

majuscules

replace(old, new) Remplace une sous-chaine old par

une sous-chaine new

strip(), lstrip(),

rstrip()

strip() supprime les espaces

éventuels en début et en fin de

chaîne. lstrip() enlève les espaces

éventuels seulement en début de

chaîne tandis que rstrip() enlève les

espaces éventuels en fin de chaîne.

Exemple

prenom = "LAMIA"

prenom_m = prenom.lower()

print(prenom_m)# affiche lamia

prenom = "lamia"

prenom_m = prenom.upper()

print(prenom_m)# affiche LAMIA

prenom = "lamia"

prenom_m = prenom.capitalize()

print(prenom_m)# affiche Lamia

mot1 = "crime"

mot2 = mot1.replace('im', 'is')

print(mot2)#affiche crise

titre1 = " Cours Python "

titre2 = titre1.strip()

print(titre2)

find(x)

startswith()

endswith()

Cette méthode fait exactement la

même chose que index(y) sauf

que si elle ne trouve pas la sous-

chaîne, elle retourne -1

retourne True si la chaîne

commence par la sous-chaîne

passée en argument. Sinon, elle

retourne False.

retourne True si la chaîne se

termine par la sous-chaîne passée

en argument. Sinon, elle

retourne False.

phrase ="J'ai trouvé une chaine."

mot = 'porte'

indice = phrase.find(mot)

Publicité

print(indice)

phrase = "Python est un langage."

mot = phrase.startswith("Python")

print(mot)#affiche True

phrase = "Python est un langage."

mot = phrase.endswith("lapin")

print(mot)# affiche False

Les listes

Une liste est une collection ordonnée et modifiable et dynamique d’éléments

éventuellement hétérogènes.

Syntaxe :

Nom-liste =[élement1, élement2, élément3,..]

Exemples :

couleurs = ['blanc','rouge','noir','vert']

Liste de listes

Exemple : Considérons le tableau suivant :

5

3

57

2

12

1

On peut stocker les éléments de ce tableau dans une liste de la manière suivante :

tableau=[[5,7,12],[3,2,1]]

L’élément 3 de ce tableau est l’élément d’index 0 de l’élément d’index 1 du tableau.

tableau[1][0] renvoie l’élément d’index 0 de l’élément d’index 1 du tableau

(l’élément d’index 1 du tableau est la liste [3,2,1]) c'est-à-dire 3.

Exemples :

tab=[[5,57,12],[3,2,1]]

print(tab[0]) #affiche [5, 57, 12]

print(tab[1]) # affiche [3, 2, 1]

print(tab[2]) # erreur ,on n'a pas l'indice 2

print(tab[1][0]) # affiche 3

Les listes en compréhension

Les listes en compréhension sont des listes dont le contenu est défini

par filtrage du contenu d'une autre liste selon un principe analogue à celui de

la définition en compréhension de la théorie des ensembles.

Exemples :

• Copie de liste

l1 = [1, 2, 3]

l2=[x for x in l1]

• Filtrage avec un test

from math import sqrt

entiers=[1,-2,3,4,-5,6,7,8,-9,10]

positifs=[x for x in entiers if x>=0]

print(positifs)

racine=[sqrt(x) for x in positifs]

print(racine)

Les Tuples

Un tuple est un ensemble d’éléments comparable aux listes mais qui, une fois

déclaré, ne peut plus être modifié.

Il s’agit d’une séquence immuable d’objets indicés qui peuvent être des nombres

entiers ou décimaux, des chaînes de caractères, des listes, des tuples etc…

Utilités :

▪ Le tuple permet de renvoyer plusieurs valeurs lors d’un appel de fonction.

▪ protégée en écriture: les données transmises par la fonction input() ne seront pas

modifiées en cours d’exécution par un autre programme.

Syntaxe et déclaration

Un tuple est un ensemble d’éléments séparés par des virgules.

Exemples :

tuple1=(1, "python",2.5)

C=(5,)

Print(type(c)) # affiche <class ‘tuple’>

C=(5)

Print(type(c)) #affiche <class ‘int’>

Opérations sur les tuples

▪ Pas des méthodes remove() ou append()

•L’instruction in

Mais il est possible d’utiliser l’instruction in pour faire un test d’appartenance

Exemple :

tuple_1 = (5, 2, 25, 56)

Print (2 in tuple_1) # affiche True

•La fonction len()

Il est également possible d’utiliser la fonction intégrée len() pour déterminer la

longueur d’un tuple.

Le parcours d’une séquence s

46

for membrein s:

instruction

instruction

. . .

instruction

for indicein range(len(s)):

instruction

instruction

. . .

instruction

for indice, membre in enumerate(s):

instruction

instruction

. . .

instruction

A chaque itération, membre contient un élément de la séquence s;

le bloc d’instructions est exécuté avec l’élément membre.

A chaque itération, indice contient l’indice d’un élément de la séquence s;

le bloc d’instructions est exécuté avec l’indice d’un membre.

On peut aussi parcourir séquentiellement une séquence s par

élément et par indice.

A chaque itération,indice et membre réfèrent un élément de la séquence s;

le bloc d’instructions est exécuté avec l’élément membre et l’indice de ce

membre.