Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
C'est le chapitre 1 sur le langage Python qui est une introduction à ce langage.
Si vous avez des remarques ou des suggestions pour l’améliorer n’hésitez pas à m’écrire via ce courriel:
pr.azizdarouichi@gmail.com
Bonne lecture.
Ce cours présente comment définir de nouveaux objets en définissant des classes. Un objet est une instance d'une classe qui définit les variables d'instances (attributs) et méthodes (fonctionnalités) que les objets créés à partir de la classe auront.
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis.
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
C'est le chapitre 1 sur le langage Python qui est une introduction à ce langage.
Si vous avez des remarques ou des suggestions pour l’améliorer n’hésitez pas à m’écrire via ce courriel:
pr.azizdarouichi@gmail.com
Bonne lecture.
Ce cours présente comment définir de nouveaux objets en définissant des classes. Un objet est une instance d'une classe qui définit les variables d'instances (attributs) et méthodes (fonctionnalités) que les objets créés à partir de la classe auront.
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis.
Cours en C++ de la programmation procédurale à la POO.
Partie 1: La Programmation Procédurale.
Partie 2: La Programmation Orientée Objet.
Partie 3: Les Exceptions, Entrées/Sorties, Structures, Unions, Énumérations…
Partie 4: Les interfaces Graphiques avec Qt.
Si vous avez des remarques ou des suggestions afin d'améliorer ce support du cours merci de me contacter via pr.azizdarouichi@gmail.com
Objectif général : Développer en orienté objet avec Python
Objectifs opérationnels :
- Organiser le code grâce aux classes
- Sécuriser une classe avec l’encapsulation
- Réutiliser et factoriser du code avec l’héritage
- Invoquer des méthodes de même nom, quel que soit le type d'objet sur lequel elles opèrent, sans avoir à effectuer au préalable une vérification de type grâce au polymorphisme
Cours en C++ de la programmation procédurale à la POO.
Partie 1: La Programmation Procédurale.
Partie 2: La Programmation Orientée Objet.
Partie 3: Les Exceptions, Entrées/Sorties, Structures, Unions, Énumérations…
Partie 4: Les interfaces Graphiques avec Qt.
Si vous avez des remarques ou des suggestions afin d'améliorer ce support du cours merci de me contacter via pr.azizdarouichi@gmail.com
Objectif général : Développer en orienté objet avec Python
Objectifs opérationnels :
- Organiser le code grâce aux classes
- Sécuriser une classe avec l’encapsulation
- Réutiliser et factoriser du code avec l’héritage
- Invoquer des méthodes de même nom, quel que soit le type d'objet sur lequel elles opèrent, sans avoir à effectuer au préalable une vérification de type grâce au polymorphisme
Quelques pages intéressantes sur Python avec des exemples, et en particulier en 1.4 le programme de calcul d'une intégrale par la méthode des rectangles, des trapèzes et de Simpson.
(1) Ce document provient de : https://www.apprendre-en-ligne.net/pymath/support.pdf (au 27 mars 2019)
(2) Il est extrait du site : https://www.apprendre-en-ligne.net/index.php
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)Tunisie collège
Ministère de l’Éducation de Tunisie
Direction Générale des Programmes
et de la Formation Continue
Le langage de programmation choisi pour implémenter les solutions algorithmiques est le
langage de programmation Python.
Ce cours concerne la manipulation des chaines de caractères et les expressions régulières. La première partie présente la classe str Python ainsi que les opérations qu'il est possible de faire sur des objets str. La seconde partie concerne les expressions regulières qui permettent de valider des chaines de caractères ou d'en extraire des sous-chaines qui satisfont un motif donné. On y voit finalement comment utiliser le module re Python.
Ce premier cours avancé sur Python concerne les deux structures de données avancées que sont les ensembles et les dictionnaires. Ces derniers sont notamment utilisés pour construire des bases de données orientées document.
Si la baisse de la productivité est effective dans toutes les économies développées... elle est particulièrement marquée en France. Au niveau national, cet essoufflement touche tous les secteurs, et plus particulièrement celui de l’industrie, usuellement caractérisé par des gains de productivité élevés. Depuis la crise Covid, le secteur industriel contribue pour 35 % environ à cette perte, alors qu’il ne représente que 9,3 % de la valeur ajoutée nationale brute en 2023. Dans ce contexte, est-il possible de mener une politique de réindustrialisation du pays sans y associer un objectif de hausse des gains de productivité ?Non rappelle ce Cube. Au contraire, ces deux objectifs, jusqu’alors indépendants l’un de l’autre, sont désormais deux défis à relever conjointement. En analysant les différents explications à la baisse de celle-ci observée en France et dans les autres économies développées, ce Cube suggère que l’augmenter en parallèle d’une politique de réindustrialisation sous-entend une réallocation des facteurs de production vers les entreprises industrielles à fort potentiel. Elle suppose également une une meilleure affectation des ressources.
1. Le langage Python
Python est un langage portable, dynamique, extensible, gratuit, qui permet une
approche modulaire et orientée objet de la programmation
CRMEF - Marrakech
1
2. Python
PLAN
INTRODUCTION
PRÉSENTATION DE PYTHON
PYTHON COMME LANGAGE DE PROGRAMMATION
INTERPRÉTEUR DE COMMANDES PYTHON
BASES DU LANGAGE
◦ ENTRÉES-SORTIES ET AFFECTATIONS
◦ STRUCTURES CONDITIONNELLES ET RÉPÉTITIVES
CHAÎNES DE CARACTÈRES
STRUCTURES DE DONNÉES EN PYTHON
◦ LISTES, TUBLES, DICTIONNAIRES ET SETS
NOTION D’OBJET
NOTION DE CLASSE
2
3. Python
Les concepts de la programmation
Données et variables
◦ 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.
◦ La casse est significative
Types de variables
◦ Les données numériques
◦ Les chaînes de caractères
◦ Les listes
◦ Les dictionnaires
◦ …
Affectation des variables
M=12
Chaine="Bonjour"
Affectations multiples et parallèles
a=b=8 : affecter une valeur a plusieurs variables simultanément
i, j = 3, 2 : affectations parallèles
3
4. Python
Les concepts de la programmation
Opérateurs et expressions
◦ -, +, /, *
◦ // : division entière
◦ ** : exposant
◦ % : modulo fournit le reste de la division
◦ ==, !=,
Les commentaires : #
4
5. Python
Les concepts de la programmation
Les entrées
input(): renvoie toujours une chaine de caractères
a=input("a")
Les fonctions de conversions
int(), float(), str()
Les sorties
print()
print("Message")
print("Message",Variable)
print("Bonjour",expression)
…
5
6. Python
Les concepts de la programmation
6
Instruction de branchement
if Condition:
Séquence1
else:
Séquence2
if Condition1:
instructions
elif Condition2:
bloc_instructions
else:
autre_bloc_instructions
7. Python
Les concepts de la programmation
7
Imbrication des instructions de branchement
if Condition1:
…
if Condition2:
…
if Condition3:
…
elif:
Séquences
Else:
autres Séquences
8. Python
Les concepts de la programmation
Les boucles
– L’instruction while
8
while condition:
instruction(s)
L’instruction For
for i in range(n):
instructions
Remarque :
L’instruction range fournit une liste de valeurs.
Exemples :
range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2) représente la liste des valeurs : 1,3,5
range(6,5,-1) représente la valeur suivante : 6
i=1
while i<6:
print(i)
i+=1
for i in range(1,6):
print(i)
9. Python
Les concepts de la programmation
Imbrication des boucles
– L’instruction while
9
while condition1:
instruction(s)
while condition2:
instruction(s)
L’instruction For
for i in range(n):
print(i)
for j in range(m):
print(j)
10. Python
Les concepts de la programmation
PRINCIPAUX TYPES DE DONNÉES
Les données numériques
Le type integer, float
La fonction type() nous permet de vérifier le type de la variable
Exemple
a=5
print (type(a))
b=5.5
print (type(b))
c='bonjour'
print(type(c))
10
11. Python
Programmation Modulaire
Certains problèmes conduisent à des programmes longs, difficiles à
écrire et à comprendre. On les découpe en des parties appelées sous-
programmes ou modules.
Les fonctions et les procédures sont des modules (groupe
d'instructions) indépendants désignés par un nom. Elles ont plusieurs
intérêts :
◦ permettent de "factoriser" les programmes, càd de mettre en
commun les parties qui se répètent ;
◦ permettent une structuration et une meilleure lisibilité des
programmes ;
◦ facilitent la maintenance du code
◦ ces procédures et fonctions peuvent éventuellement être réutilisées
dans d'autres programmes.
11
12. Python
Programmation Modulaire
Fonctions prédéfinies :
La fonction input() : Interaction avec l’utilisateur
La fonction print() : affiche n’importe quel nombre de valeurs
fournies en arguments
Importer un module de fonctions
Les modules sont des fichiers qui regroupent des ensembles de
fonctions.
Exemple :
from math import *
Ou
from math import pi,…
12
13. Python
Les fonctions
Définition d’une fonction en python
def nomdefonction ( arg1, arg2, … ,argk) :
bloc_instructions
[return valeur]
Appel d'une fonction
◦ L’appel de la fonction prend la forme :
nomdefonction( exp1, exp2, ... expk )
13
14. Python
Les fonctions
Exemple : la somme des carrés
def sommeCarre ( x, y) :
sc = x**2 + y**2
return sc
Appel d'une fonction
>>> sommeCarre(2,5)
Ou
>>> a=2
>>> b=5
>>> sommeCarre(a,b)
>>> print(sommeCarre(a,b))
14
15. Python
Les fonctions
En Python, on peut utiliser les tuples pour renvoyer plusieurs
valeurs.
def division ( a , b ) :
return a//b , a % b
Appel de la fonction
>>> a=13
>>> b=2
>>> q , r = division ( a , b )
>>> print('Le quotient de ',a,' par ',b,' est ',q)
>>> print('Le reste de ',a,' par ',b,' est ',r)
15
16. Python
Les fonctions
Variables globales et locales
Les variables définies à l'extérieur d'une fonction sont des variables
globales. Leur contenu est visible de l'intérieur d'une fonction.
Si l’on veut accéder à une variable globale à l’intérieur d’une
fonction, on utilise le mot-clé global en Python.
Exemple :
16
def reinitialise( ):
x = 0
def reinitialise( ):
global x
x = 0
>>> x =7
>>> reinitialise( )
>>> print(x)
17. Python
Les fonctions
Variables globales et locales
De manière générale, si elle n’y est pas explicitement déclarée
comme globale, une variable x est locale à la fonction dans le corps
de laquelle elle est affectée.
Elle est globale si elle est utilisée dans la fonction sans être affectée
ou si elle est déclarée globale.
def f( ):
global a
a = a + 1
c = 2 * a
return a + b + c
Dans cette fonction, a est globale car elle est déclarée comme telle,
b est globale car elle est utilisée mais non affectée et c est locale car
elle est affectée mais n’est pas déclarée globale
17
18. Python
Les fonctions
Fonction anonyme (lambda function)
Le mot-clé lambda en Python permet la création de fonctions
anonymes (i.e. sans nom et donc non définie par def)
>>> f = lambda x : x * x
>>> f ( 3 )
Ou peut également préciser plusieurs arguments, voire même des
valeurs par défaut :
>>> g = lambda x , y = 2 : x * y
>>> g(5, 7)
>>> g(5)
18
19. Python
Les fonctions
Fonctions récursives
Une fonction est dite récursive si elle appelle elle-même : on parle
alors d’appel récursif de la fonction
19
Version itérative : Version récursive :
def fact(n) :
f = 1
for k in range(2,n+1):
f = f * k
return f
def fact(n) :
if n==1 :
return 1
else:
return n* fact(n-1)
20. Python
Les chaînes de caractères
Une chaîne de caractères est une suite finie de caractères consécutifs,
qu’on note entre apostrophes ou guillemets .
Le type string
a="L'informatique est ..."
print (a)
b='"PC" : Personnel Computer'
print(b)
La séquence n dans une chaine provoque un saut à la ligne.
La séquence ' permet d’insérer une apostrophe dans une chaine
délimitée par des apostrophes.
20
21. Python
Les chaînes de caractères
Accès à un caractère
◦ Chaque caractère de la chaine peut être désigné par sa place dans la
séquence, à l’aide d’un index ou indice
a="L'informatique est ..."
print (a[0], a[1], a[9])
Concaténation :
◦ On concatène deux chaînes à l’aide de l’opérateur +
Longueur :
On utilise la fonction len( ) pour obtenir la longueur d’une chaîne
Sous-chaîne :
a[n:m] : n index de début, m-1 index de fin
a[:m] : sous chaîne de m caractères à partir du premier caractère
a[n:] : sous chaîne extraite à partir de l’index n
Exemple : print(a[2:6])
21
22. Python
Les chaînes de caractères
La répétition
◦ On répète une chaîne à l’aide de l’opérateur *
◦ Exemple : print(a*2)
Test d’appartenance :
◦ Il est possible de tester la présence d’une sous-chaîne dans une
chaîne. (in)
◦ Exemple :
>>> a="L'informatique est ..."
>>> 'est' in a
True
Les chaînes ne sont modifiables
>>> a[0]='M'
22
23. Python
Les chaînes de caractères
Fonctions ord () et chr()
>>> ord('a') ----> 97
>>> chr(97) ----> ‘a’
Parcours d’une séquence : l’instruction for ... in ...
a="L'informatique est ..."
for i in a:
print (i)
Les chaînes sont des objets
Sous Python, les chaînes sont des objets pour les quels on peut
appliquer un certain nombre de méthodes (fonctions)
Exemple :
>>> a="L'informatique est ...«
>>> a.upper()
"L'INFORMATIQUE EST ..."
23
24. Python
Les chaînes de caractères
a.find('e') #retourne l’index du caractère dans la chaine s’il existe.
#retourne -1 si le caractère n’existe pas dans la chaine
a.count('e')#compter le nombre d’occurrences d’une sous chaîne dans la chaine
a.split() : transforme une chaine en une liste de sous-chaines
>>> a.split()
["L'informatique", 'est', '...']
join(liste) : rassemble une liste de chaines en une seule
>>> l=a.split()
>>> ''.join(l)
>>> ' '.join(l)
24
25. Python
Les chaînes de caractères
lower() : convertit une chaine en minuscules
upper() : convertit une chaine en majuscules
title() : convertit en majuscule l’initiale de chaque mot
capitalize() : variante de la précédente. Convertit en majuscule seulement
la première lettre de la chaine :
swapcase() : convertit toutes les majuscules en minuscules, et vice-versa
strip() : enlève les espaces éventuels au début et à la fin de la chaine
lstrip() et rstrip()
replace(c1, c2) : remplace tous les caractères c1 par des caractères c2 dans
la chaine.
Exemple :
>>> a="L'informatique est ..."
>>> a.replace(' ',"***")
"L'informatique***est***..."
25
26. Python
Les chaînes de caractères
Déterminer la nature d’une chaine S :
S.isalnum() :
◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}
{012..9}
S.isalpha() :
◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}
S.isdigit() : renvoit True si S est composé uniquement des caractères {012..9}
S.islower() : renvoit True si S est composé uniquement de caractères minuscules
S.isspace() :
◦ renvoit True si S est composé uniquement d’espaces (blanc, tabulations, retour
chariot..)
S.istitle() :
◦ renvoit True si S est un titre c’est à dire que la première lettre de chaque mot est
une majuscule.
S.isupper() : renvoit True si S est composé uniquement de caractères majuscules
26