0% ont trouvé ce document utile (0 vote)
13 vues59 pages

01MyPython Intro Expressions - 2022

01MyPython-Intro-Expressions_2022

Transféré par

AlessiaCara Fans
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues59 pages

01MyPython Intro Expressions - 2022

01MyPython-Intro-Expressions_2022

Transféré par

AlessiaCara Fans
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 59

Préparé par : Larbi HASSOUNI

▪ Le langage Python a été initialement développé par le mathématicien


Néerlandais Guido van Rossum.

▪ Guido van Rossum était un fan de la série télévisée Monty Python's Flying
Circus,

▪ C'est pourquoi il a choisi le nom Python (nom d'un serpent) en 1991 pour
son langage dérivé du langage de script ABC.

▪ Mais c'est le serpent qui a le plus marqué les esprits et on a vu apparaître


un IDE pour Python nommé Boa constructor.

▪ Un programmeur en Python est connu sous le nom de Pythoniste.


Caractéristiqes du langage Python

• Python est un langage de programmation largement utilisé


grâce à ses différentes caractéristiques:
• Haut niveau :
Python automatise les opérations de bas niveau telles que
la gestion de la mémoire.
Il laisse au programmeur un peu moins de contrôle mais
présente de nombreux avantages, notamment la lisibilité
du code et des expressions de code minimales.

Chap 01 3
▪ Usage général :
▪ Python est conçu pour être utilisé dans tous les contextes
et environnements.
▪ Un exemple de langage non généraliste est PHP: il est
conçu spécifiquement comme un langage de script de
développement Web côté serveur.
▪ En revanche, Python peut être utilisé pour le
développement Web côté serveur, mais également pour
créer des applications de bureau, et dans le domaine des
Sciences de Données.

Chap 01 4
• Amical pour les débutants :

➢ La syntaxe et la structure de Python sont très intuitives.


➢ Il est de haut niveau et fournit des concepts destinés à
permettre l’écriture de programmes clairs à la fois à petite et
grande échelle.
➢ Python prend en charge plusieurs paradigmes de
programmation :
✓ Impérative
✓ Orientée objet,
✓ fonctionnelle.
✓ …
➢ Il dispose d'une bibliothèque standard complète et de
nombreuses bibliothèques tierces faciles à installer.

Chap 01 5
• Python est le langage le plus populaire dans le monde des Sciences de
Données et de l'Intelligence Artificielle :en particulier.
➢ Machine Learning
➢ Deep Learning
➢ Reinforcement Learning
➢ Réseaux de Neurones

Chap 01 6
▪ Typé dynamiquement :

▪ chaque variable de Python peut référencer n'importe quel


type de données.
▪ Une seule expression peut évaluer des données de
différents types à des moments différents.
▪ De ce fait, le code suivant est possible:
o X = 12
o X = 12.5
o X = True
o X = "Bonjour"

Chap 01 7
• Fortement typé :

Lors de l'exécution du programme, vous n'êtes pas autorisé à


faire des opérations incompatibles avec le type de données
avec lequel vous travaillez.
Par exemple, il n'y a pas de conversions implicites de chaînes
en nombres; une chaîne composée de chiffres ne sera jamais
traitée comme un nombre sauf si vous la convertissez
explicitement:
"1" + 2 #Produit une erreur
int("1") + 2 produit la valeur 3
"1" + str(2) produit la valeur "12"

Chap 01 8
Chap 01 9
Installation de l’environnement du travail:

1. Python
2. IDE PyCharm (ou VS Code)
Etape 1 : Télécharger et installer python
sur une plateforme Windows
1- Aller à l'URL : https://www.python.org/downloads/windows/
2- Puis, aller à la rubrique Stable Releases qui se trouve en bas de la page et télécharger
le fichier "Windows x86-64 executable installer".

11
3- Exécuter le fichier et n'oublier pas de cocher la case "Add Python to PATH".

12
4- Une fois Python installé, redémarrez Windows, puis tapez python à
l'invite de commande. Vous devriez voir quelque chose comme ci-dessous.
L’interpréteur python est lancé :

5- Pour quitter l’interpréteur Python, taper:


>>>exit()
13
Tester que Python est bien installé
Sous Windows
Etape 2 :Téléchargement et installation de PyCharm
• https://www.jetbrains.com/fr-fr/pycharm/download/#section=windows

Cliquer sur ce
bouton pour
téléchaqrger
PyCharm
Community

Si vous avez l’Email


de l’université,
vous pouvez
télécharger
PyCharm
Professionnel et
obtenir une licence
gratuitement.

• Cliquez deux fois sur le fichier .exe téléchargé et prenez les options par défaut
15
Variables, Expressions, et
Instructions

Chap 01 16
Constantes

• Valeurs fixes (Litteral values) dont la valeur ne change pas: nombres,


lettres, et strings
• Constantes Numérique : 1 .5 12.5e-7 -17 -12.75
• Constantes String : Suite de caractères délimitée par des quotes (') ou
des guillemets (")

Chap 01 17
Mots Reservés

Vous ne pouvez pas utilizer les mots réservés comme identificateurs


(noms de variables, fonctions, classes,…)

False class return is finally


None if for lambda continue
True def from while nonlocal
and del global not with
as elif try or yield
assert else import pass
break except in raise

Chap 01 18
Variables
• Une variable est un nom attribué à un emplacement mémoire dans lequel on
stocke une valeur utilsée dans le programme. La valeur est retrouvée en
utilisant le "nom" de la variable.
• La valeur de la variable peut être modifée
• En Python tout est objet. Une valeur entière est un objet, de même pour
une valeur réelle, booléenne, string, etc.
• Une variable mémorise l’adresse de l’objet qui correspond à sa valeur.
C’est une variable reference (ou “pointeur”)

x = 12.2 X (float)12.2
y = 14 y (int)14
Chap 01 19
Variables
• La valeur de la variable peut être modifée

Stack Heap
x = 12.2 Une variable mémorise la
(float) 12.2
(int)14
y = 14 référence de la valeur qui est un X
y
(int)100
objet
x = 100
En python, tout est objet

Chap 01 20
Régles à respecter par un nom de variable

• Doit commencer par une lettre ou l' underscore _


• Ne doit contenir que des lettres, chiffres , et underscores
• Sensible à la casse

Noms valides: taux salaire an2015 _mois


Noms invalides: 23v #symbole sig.12 for if
Noms Differents: taux Taux TAUX

Chap 01 21
Instructions

x = 2 Instruction d'affectation
x = x + 3 Affectation avec une expression
print(x) Instruction print

Variable Operator Constante Fonction


Instructions d'affectation

• Nous affectons une valeur à une variable en utilisant l'instruction


d'affetation (=)

• Une instruction d'affectation consiste en une expression à droite du


symbole = et d'une variable dans laquelle est stocké la reference vers
l’objet résultat d'évaluation de l'expression

x = 5 * x * ( 1 – x)

Chap 01 23
Une variable est un x 2
emplacement mémoire utilisé
pour stocker une valeur
(reference de l’objet ((int) 2)
2 2
x = 5 * x * ( 1 - x )

Le coté droit du symbole de -1


l'affectation (=) est une expression. 10
Une fois l'expression évaluée, la
reference de l’objet résultat est placé -10 x -10
dans (affecté à) la variable du côté
gauche (i.e., x).
2 2
x = 5 * x * ( 1 - x )

-1
10

-10
(int) 2
(int)-10
X
Fonction id
• La fonction id permet d’obtenir l’adresse d’un objet en mémoire.

x = 10
y = 20
print(id(x))
print(id(y))

1455265311312
1455265311632

Chap 01 26
❑ Singleton

❑ “small integer caching”

❑ “String Caching”

Chap 01 27
Singleton

Les valeurs ci-dessous sont des objets singleton.


Ils sont stockés une seule fois dans la mémoire;
❖None
❖True
❖False

Chap 01 28
Small integer caching
• Entiers entre -5 et 256 :
Deux variables qui font référence à une valeur entière comprise entre -
5 et 256 ont la même valeur. Autrement dit la valeur entière est stockée
une seule fois dans la mémoire.

Chap 01 29
Chap 01 30
String de longueur <20 caching
• Les chaines de caractères de longueur inférieure à 20 sont stockées
une seule fois dans la mémoire.

Chap 01 31
Expressions

Chap 01 32
Expressions Numériques
Operateur Operation
• En raison du manque de symboles
mathématiques sur les claviers + Addition
d'ordinateur - nous utilisons le «langage
informatique» pour exprimer les - Soustraction
opérations mathématiques classiques * Multiplication

• L’astérisque (*) est la multiplication Division


/
décimale
• Exponentiation (**) (levée à la Division
//
Entière
puissance) n’est pas représenté comme
en math ** Puissance

% Reste
Chap 01 33
Expressions Numériques
>>> x = 2 Operateur Operation
>>> jj = 23
>>> x = x + 2 >>> kk = jj % 5 + Addition
>>> print(x) >>> print(kk)
4 3 - Soustraction
>>> y = 3 * 5 >>> print(4 ** 3)
>>> print(y) 64 * Multiplication
15 Division
>>> z = y / 2 5 /
23 décimale
>>> print(z)
3 4 Dévision
7.5 //
Reste % Quotient // Entière
>>> v = y // 2
>>> print(v) 23 / 5 = 4.6 ** Puissance
7 23 // 5 = 4
23 % 5 = 3 % Reste
Opérateurs d’affectation composée
• Un opérateur d’affectation composée a pour syntaxe:
<variable> op= <expression>
Avec op est un opérateur arithmétique : +, - , * , /, %, //, **.
• Exemple:
•i=j=5
• i += 8 i=i+8
• J *= i+2 j = j*(i+2)
• J //= 3 j = j//3
• J **= i*3 + 5 j = j **(i*3+5)

Chap 01 35
Ordre d'Evaluation

• Lorsque nous enchaînons des opérateurs, Python doit savoir lequel


évaluer en premier
• Ceci est désigné par “Précedence (ou priorité) des opérateurs”
• Quel opérateur prime sur les autres?

x = 1 + 2 * 3 - 4 / 5 ** 6

Chap 01 36
Règles de précédence des opérateurs
De la plus haute priorité à la plus basse priorité:

1. Parenthèses évaluées en 1er Parenthèses

2. Exponentiation (puissance) en 2ème Puissance


3. Multiplication, Division, et Reste Multiplicatifs
4. Addition et Soustraction Additifs

Tous les opérateurs sont évalués de de la gauche vers la droite


sauf l’exponentiation qui est évaluée de la droite vers la gauche.
Chap 01 37
1 + 2 ** 3 / 4 * 5
>>> x = 1 + 2 ** 3 / 4 * 5
>>> print(x)
11.0 1 + 8 / 4 * 5
>>>
1 + 2 * 5
Parenthèses
Puissance (droite à gauche) 1 + 10
Multiplication (gauche à droite)
Addition (gauche à droite) 11
Priorité des opérateurs
Retenez ces règles du haut vers le bas

- Lors de l'écriture du code – utiliser des parentheses

- Lors de l'écriture de code - gardez les expressions


mathématiques suffisamment simples pour qu'elles
soient faciles à comprendre

- Rompre une longue série d'opérations mathématiques


pour les rendre plus claires

Chap 01 39
Types de données
• En Python, les variables, literals, et
constantes ont un “type” >>> numb = 1 + 4
>>> print(numb)
5
• Python connaît la différence entre un >>> s = 'Bonjour ' + 'tous'
nombre entier et une string. >>> print(s)
Bonjour tous
• Par exemple “+” signifie “addition” si
utilisé avec des nombres et
“concatenate” si utilisé avec des concatenate = assembler
string.

Chap 01 40
Types de données
Python connaît le “type” de
>>> s1 = 'Bonjour ' + 'tous'
chaque chose >>> s1 = s1 + 1
Traceback (most recent call last):
Certaines opérations sont File "<stdin>", line 1, in
interdites <module>TypeError: Can't convert
'int' object to str implicitly
>>> type(s1)
On ne peut pas ajouter 1 à une <class'str'>
string >>> type('Bonjour')
<class'str'>
On peut connaitre le type d'une >>> type(1)
<class'int'>
donnée par l'intérmédiaire de la >>>
fonction type()

Chap 01 41
Types prédéfinis
• Python intègre par défaut les types de données suivants :

Type String str


Types Numériques int, float, complex
Type boolean bool
Types de Séquence list, tuple, range
Type dictionnaire dict
Types Ensemble set, frozenset
Type binaires bytes, bytearray, memoryview

Les types ensemble et binaires seront étudiés ultérieurement


Chap 01 42
Exemple Type de données
x = “Bonjour" str
x = 10 int
x = 10.5 float
x = 3+5j complex
x = [“a", "b", "c"] list
x = ("a", "b", "c") tuple
x = range(6) range
x = {"name" : “moha", "age" : 25} dict
x = {“a", "b", "c"} set
x = frozenset({"a", "b", "c"}) frozenset

x = True bool
x = b“Bonjour" bytes
x = bytearray(10) bytearray
x = memoryview(bytes(10)) memoryview
x = None NoneType

Chap 01 43
Plusieurs Types de nombres
• Les nombres ont deux types
principaux >>> x = 1
>>> type (x)
- Integer : Nombres entiers: <class 'int'>
-25, -1, 0, 2, 10, 250278 >>> y = 98.6
>>> type(y)
- Float : Nombres décimaux: <class'float'>
-2.5 , 0.0, 4.5, 25.0 >>> type(5)
<class 'int'>
- Complex : Nombres complex: >>> type(2.5)
1 +2j; 3j ; 1-4j <class'float'>
>>>
• Il ya d'autres types qui sont des
variants de float et integer
Chap 01 44
Conversion de Types
>>> print(float(5) + 10)
• Lorsque vous mettez dans 15.0
une expression un integer et >>> i = 15
un float, l'integer est >>> type(i)
implicitement converti en un <class'int'>
float >>> f = float(i)
>>> print(f)
• Vous pouvez controller ceci 15.0
>>> type(f)
en utilisant les fonctions
<class'float'>
prédéfinies int() et float() >>>

Chap 01 45
Division Réelle

>>> print(10 / 2)
5.0
>>> print(9 / 2)
La division réelle produit un résultat 4.5
de type float >>> print(99 / 100)
0.99
>>> print(10.0 / 2.0)
5.0
>>> print(99.0 / 100.0)
0.99

Chap 01 46
Division Entière

>>> print(10 // 2)
5
La division entière produit un résultat >>> print(9 // 2)
de type entier 4
>>> print(99 // 100)
0

Chap 01 47
Conversions des String
>>> sval = '123'
>>> type(sval)

• Il est aussi possible d'utiliser <class 'str'>


>>> print(sval + 1)
int() et float() pour convertir Traceback (most recent call last): File
"<stdin>", line 1, in <module>
entre les strings et les integers TypeError: Can't convert 'int' object to
str implicitly
• On obtient une erreur si la >>> ival = int(sval)
>>> type(ival)
string ne contient pas des <class 'int'>
>>> print(ival + 1)
caractères numeriques 124
>>> nsv = 'Bonjour tous'
>>> niv = int(nsv)
Traceback (most recent call last): File
"<stdin>", line 1, in <module>
ValueError: invalid literal for int()
with base 10: 'x'

Chap 01 48
Entrée de données : input

nom = input('Donner votre nom: ')


• Pour lire des données print('Bonjour', nom)
fournies par l'utilisateur au
clavier, nous pouvons
utilizer la fonction input() .
• La fonction input()
retourne une string

Chap 01 49
Conversion des valeurs retournées par input

• Si nous voulons lire un


nombre fourni au clavier par
l'utilisateur, nous devons
convertir la string retournée
par input() en un nombre
en utilisant la fonction
int() ou float()

Chap 01 50
Commentaires en Python
• Pour introduire un commentaire on utilise #
• Tout ce qui se trouve entre # et la fin d'une ligne est ignoré par
Python

• Il est recommandé de bien commenter son code pour :

- Expliquer une partie du code

- Fournir des informations sur l'auteur du code et d'autres


informations auxiliaires

- Désactiver temporairement une ligne de code.

Chap 01 51
Commentaires en Python : Docstring
• Pour insérer des commentaires sur plusieurs lignes, on utilise une
DocString entre 3 quotes (‘’’ et ‘’’ ) ou 3 guillemets (“”” et “””).

• Exemples:
• ‘’’ Bonjour tout le monde
• Nous sommes le 8 octobre 2021
• ‘’’
• “””Cette page doit être remplie
• N’oubliez pas
• “””

Chap 01 52
Les opérateurs mathématiques avancés avec le module math
Si vous avez besoin d'effectuer des calculs mathématiques plus complexes,
vous devrez utiliser le module math
Pour ne pas trop surcharger les fonctions disponibles par défaut, Python ne
charge pas toutes ces fonctions de base quand vous lancez un interpréteur.
Pour utiliser le module math, il faut l'importer : import math
Une fois le module importé, vous pouvez utiliser toutes les fonctions
contenues à l'intérieur du module, en préfixant la fonction du nom du
module.
Par exemple pour calculer une racine carrée :
•>>> racine = math.sqrt(16)
•>>> print(racine)
4.0

Chap 01 53
Liste non-exhaustive des fonctions du module math :

•math.ceil(-4.7) : entier immédiatement supérieur, donne ici -4.


•math.exp(2) : exponentielle.
•math.factorial(5) : factorielle 5, donc 120 ici (fonctionne uniquement pour les
entiers positifs).
•math.floor(-4.7) : partie entière, donne ici -5.
•math.isinf(x) : teste si x est infini (inf) et renvoie True si c'est le cas.
•math.log(2) : logarithme en base naturelle.
•math.log(8, 2) : log de 8 en base 2.
•math.log10(2) : logarithme en base 10.
•math.pow(2, 3) : 2 puissance 3 (peut aussi s'écrire 2 ** 3).
•math.sqrt(16) : racine carrée, donne ici 4.

Chap 01 54
Liste non-exhaustive des fonctions du module math (suite):

•fonctions trigonométriques : math.sin, math.cos, math.tan, math.asin,


math.acos, math.atan (argument en radians).
•fonctions hyperboliques : math.sinh, math.cosh, math.tanh, math.asinh,
math.acosh, math.atanh.
•math.degrees(x) : convertit de radians en degrés.
•math.radians(x) : convertit de degrés en radians.
Les constantes :
•math.pi (3.14159...)
•math.e (2.71828...)

Chap 01 55
Exercice001

Dans cet exercice, vous devez utiliser les fonctions de conversions


pour convertir les objets dans le bon type afin d'afficher les phrases
suivantes et éviter les erreurs.

Phrases à afficher :
J'ai une classe de 30 élèves
10 + 5 est égal à 15
15
L'addition de 10 + 5 est égal à 15
"""

a = "J'ai une classe de " + 30 + " élèves"


b = 10 + " + " + "5" + " est égal à " + 15
c = 10 + "5"
d = "L'addition de 10 + 5 est égal à " + 10 + 5

Chap 01 56
Exercice002

Ecrire un programme qui calcule le salaire


hebdomadaire d'un ouvrier qui est égal au
produit du nombre d'heures travaillé par le taux
horaire.
Le nombre d'heures et le taux horaire sont lus
au clavier

Donner le nombre d'heures: 40


Donner le taux Horaire: 80

Salaire hebdomadaire : 3200


Exercice003

Ecrire un programme qui permet de calculer les éléments


d'une facture.
Le programme doit lire au clavier le montant brut MB, le taux
de remise TR, le taux d'escompte TE, le Taux de TVA
tauxTVA puis calcule la remise (Remise = MB * TR), Le net
Commercial (NC = MB – Remise) , l'escompte (Esc = NC *
TauxEscompte), le Net Financier (NF = NC – Esc), la taxe
(taxe = tauxTVA * NF) puis le Net à payer (NAP = NF + taxe).
Le programme doit lire les données MB, TR, TE et tauxTVA
puis calculer et afficher la taxe et le net à payer
https://sites.google.com/view/hassouni/

Chap 01 59

Vous aimerez peut-être aussi