Vous êtes sur la page 1sur 27

ESGIS

PROGRAMMATION
OOP PYTHON
MASTER 1

DU 28 FEVRIER AU 26 MARS 2022


Bienvenue - présentation
Dr. NADJAK KAN’SAM ALEX
• CCNP, JNCIA
• CISCO CYBERSECURITY,
• CISCO ENTREPRENEURSHIP

• Participants
PROGRAMMATION OOP PYTHON
OBJECTIFS DU COURS
FONDEMENT Pourquoi PYTHON est IMPORTANT pour tout INGENIEUR ?
PRINCIPE Les bases en Python: Fonctions ; Structures de données
IDEES OOP: Comprendre les classes et les objets
FAISABILITE OOP: Comprendre le self paramètre; polymorphisme
METHODE OOP: Méthodes statiques et méthodes d'instance
INTEGRATION OOP: Abstraction and Encapsulation
TECHNIQUES OOP: Comprendre Single and Multilevel Inheritance
MANAGEMENT OOP: Public Protected and Private - Naming Conventions
OPTION OOP: Overriding and the super() method;
OPERATEUR OOP: Surcharger un opérateur et Diamond Shape Problem
PROJETS OOP: Problem Statement & Project Solution
CONTENT GENERAL
DATE CONTENT HEURE
28-févr.-22  Pourquoi PYTHON est IMPORTANT pour tout INGENIEUR ? 18H30 - 21H30
 Python Basics Functions; Data Structures
7-mars-22 18H30 - 21H30
 OOP: Comprendre les classes et les objets
 OOP: Comprendre le self paramètre; polymorphisme
14-mars-22 18H30 - 21H30
 OOP: Méthodes statiques et méthodes d'instance
 OOP: Abstraction and Encapsulation
19-mars-22 8H - 11H
 OOP: Comprendre Single and Multilevel Inheritance
21-mars-22  OOP: Public Protected and Private - Naming Conventions 18H30 - 21H30
 OOP: Overriding and the super() method;
25-mars-22 18H30 - 21H30
 OOP: Surcharger un opérateur et Diamond Shape Problem
26-mars-22  OOP: Problem Statement & Project Solution 8H - 11H
REFERENCES
Dusty Phillips

Python 3 Object-oriented Programming


Second Edition
CONTENT DU JOUR 28 – 02 – 2022
Pourquoi apprendre le langage de programmation
Python
Brainstorming
 PYTHON DOMAINS D’APPLICATION
 CATEGORIES D’APPLICATION POUR PYTHON
COMPILATEUR VS INTERPRETE
 DIFFERENCE ENTRE POP (PP) ET OOP
LIBRAIRES PYTHON
Les python Editors
PYTHON PROGRAMMING: STATISTIC
PYTHON PROGRAMMING
Python est un langage de programmation inventé
par Guido van Rossum. La première version de python est
sortie en 1991.
Python est un langage de programmation interprété, c'est-à-dire qu'il n'est pas
nécessaire de le compiler (convertir le code source en fichier exécutable) avant
de l'exécuter.
Python est un langage facile à apprendre et son code est
plus lisible, il est donc plus facile à maintenir. Il est parfois
jusqu'à 5 fois plus concis que le langage Java par exemple,
ce qui augmente la productivité du développeur et réduit
mécaniquement le nombre de bugs.
PYTHON DOMAINS D’APPLICATION
Python est couramment utilisé pour développer des sites Web et des logiciels,
l'automatisation des tâches, l'analyse des données et la visualisation des données.
Comme il est relativement facile à apprendre, Python a été adopté par de nombreux
non-programmeurs tels que des comptables et des scientifiques, pour une variété de
tâches quotidiennes, comme l'organisation des finances.
Instagram Spotify

World-Class Software
Companies That Use Python Facebook; Netflix

Google; Dropbox…
CATEGORIES D’APPLICATION POUR PYTHON
 Applications Block-chain
En effet, les Framework offerts par Python comme Flask, permettent aux
développeurs d’utiliser des requêtes https afin de communiquer avec leur
block Chain sur internet et créer des points terminaux pour les différentes
fonctions de Block-Chain. Il est aussi possible aux développeurs d’exécuter
des scripts sur plusieurs machines afin de développer un réseau
décentralisé qui constitue la base de la Block-Chain.

 Applications audio et visuels


Une des applications les plus connues et utilisées par les développeurs Python
est la création de contenu audio ou visuel comme la musique ou un site de
streaming de vidéo. Grâce à des bibliothèques populaires comme PyDub ou
OpenCV, le développement d’une application de ce type reste très facile et
garantie des résultats optimisés.
CATEGORIES D’APPLICATION POUR PYTHON
 Développement de jeux
Python offre plusieurs bibliothèques et extensions utiles qui permettent de
développer des jeux interactifs. Par exemple, PySoy qui est un moteur de
jeu 3D supporté par Python et Pygame. Cette bibliothèques est basée sur
Python et très utilisée par les développeurs de jeux. Parmi les jeux les plus
populaires, on cite Battlefield , Civilization-IV , Matsermind..

 Développement web & logiciel


PYTHON dispose aussi de plusieurs bibliothèques et modules qui rendent
l’intégration avec certains protocoles tels que HTTPS, SSL et FTP possible. Sans
oublier que python supporte le traitement de JSON, XML, E-MAIL et bien plus
encore. quelques Framework connus compatibles avec Python comme Pyramid,
Flask ou bien Django permettent au développeur de créer un site Web
entièrement. Instagram est un exemple vivant d’application web créée par le biais
du Framework Django.
CATEGORIES D’APPLICATION POUR PYTHON
 Applications commerciales
Python opère aussi sans les différentes stratégies d’entreprise. En effet, il permet de
développer de nombreux types d’applications qui contribuent dans l’élaboration de solutions
de développement d’applications de type ERP et E-Commerce .

Odoo est un exemple de logiciel de gestion programmé en Python qui fournit une variété de
fonctionnalités permettant la gestion d’affaires d’entreprises. Un autre exemple d’applications
est Tryton, une application de haut-niveau, basée sur trois couches, écrite en Python et utilise
PostgreSQL comme moteur de base de données.

 Big Data et Machine Learning


Le langage de programmation le plus populaire pour cette pratique est Python.
En effet, il dispose de librairies et modules avec des algorithmes et
fonctionnalités qui prennent en charge le machine learning. Parmi les plus
populaires on trouve Pandas, Sckit-learn et plein d’autres.
CATEGORIES D’APPLICATION POUR PYTHON
 Traitement d’images et applications graphiques
L’une des pratiques les plus populaires de Python est la détection d’objets
et le traitement d’images. Grâce à une vaste gamme de bibliothèques
Python pour la détection d’objets ainsi que la Python Imaging Library (PIL)
pour le traitement d’images, Tensorflow et d’autres bibliothèques
également intéressantes. Ces packages permettent aux développeurs de
créer des applications basées sur l’apprentissage profond et la vision par
ordinateur.

 Systèmes d’exploitation
Python est derrière le développement de nombreux systèmes d’exploitations
très connus comme les distributions Linux. Par exemple, l’OS Ubiquity
d’Ubuntu basé sur linux et l’installeur Anaconda de Red Hat sont tous les deux
développées en Python. Ce langage est combiné avec le langage de
programmation C pour la conception des systèmes d’exploitation.
CATEGORIES D’APPLICATION POUR PYTHON
 Applications bureau
Python est aussi utilisé pour programmer des applications de type
bureau. Parmi les bibliothèques qu’il fournit on trouve Tkinter qui
peut être utilisée pour des développer des interfaces utilisateur.
D’autres outils comme WxWidgets, Kivy, PYQT peuvent aussi être
déployés pour créer des applications sur plusieurs plateformes.
 Applications destinées à l’extraction Web
Python est très utile quand il s’agit d’extraire un grand nombre de données à partir d’un site Web
afin de les utiliser dans différents processus tels que la visualisation des données,
l’établissement de comparaison entre différents attributs ou une étude de produit en se basant
sur l’avis de clients..
Parmi les frameworks qui effectuent cette tâche, on
trouve BeautifulSoup soup qui est un outil Python
très puissant de web scrapping.
COMPILATEUR VS INTERPRETE
Le compilateur et l'interpréteur sont deux façons différentes de traduire un programme
d'un langage de programmation ou de script en langage machine.
 Un compilateur prend l'intégralité du programme et le convertit en code objet qui est
généralement stocké dans un fichier. Le code objet est également appelé code binaire et
peut être directement exécuté par la machine après liaison. Des exemples de langages de
programmation compilés sont C et C++ .
 Un interpréteur exécute directement des instructions écrites dans un langage de
programmation ou de script sans les convertir au préalable en code objet ou en code
machine. Des exemples de langages interprétés sont Perl, Python et Matlab.
En général, les programmes interprétés s'exécutent plus lentement que les
programmes compilés.
Une fois qu'un programme est compilé, son code source n'est pas utile pour
exécuter le code car il transforme tout le code et affiche les erreurs a la fin. Pour
les programmes interprétés, le code source est nécessaire pour exécuter le
programme à chaque fois, car les erreurs sont lever progressivement.
DIFFERENCE ENTRE POP (PP) vs OOP
La programmation procédurale (PP), également connue sous le nom de programmation en
ligne, adopte une approche descendante. Il s'agit d'écrire une liste d'instructions pour
indiquer à l'ordinateur ce qu'il doit faire étape par étape. Il repose sur des procédures ou
des routines. La programmation orientée objet (POO) consiste à encapsuler les données et
le comportement dans des objets. Elle permet de masquer les données afin qu'elle soit
plus sécurisée
La principale différence entre la POO et le POP est qu'une POO divise un programme en objets
plus petits, tandis que POP divise un programme en procédures ou fonctions plus petites pour
arriver aux résultats du problème..

POP

POO
DIFFERENCE ENTRE POP (PP) vs OOP
Programmation Procédurale Programmation Orientée Objet
Le programme principal est divisé en petites parties Le programme principal est divisé en petit objet en fonction
Programmes
selon les fonctions. du problème.
Les données et les fonctions de chaque objet individuel
Les données Chaque fonction contient des données différentes.
agissent comme une seule unité.
Pour ajouter de nouvelles données au programme, Le passage de message garantit l’autorisation d’accéder
Permission
l’utilisateur doit s’assurer que la fonction le permet. au membre d’un objet à partir d’un autre objet.
Exemples Pascal, Fortran, C, VB, Basic, COBOL PHP5, C ++, Java, Python
Les spécificateurs d’accès public, private, et protected sont
Accès Aucun spécificateur d’accès n’est utilisé.
utilisés.
Les fonctions communiquent avec d’autres fonctions
La communication Un objet communique entre eux via des messages.
en gardant les règles habituelles.
La plupart des fonctions utilisent des données
Contrôle des données Chaque objet contrôle ses propres données.
globales.
Les fonctions ou les algorithmes ont plus Les données prennent plus d’importance que les fonctions
Importance
d’importance que les données dans le programme. du programme.

Il n’y a pas de moyen idéal pour masquer les Le masquage des données est possible, ce qui empêche
Masquage des données
données. l’accès illégal de la fonction depuis l’extérieur.
PYTHON POPULAIRE
 Simplicité de syntaxe
Le langage Python est connu par la simplicité de sa syntaxe et sa facilité à être lu et compris.
La lisibilité du code est aussi une notion à laquelle Python accorde une grande importance,
c’est pourquoi Python utilise des mots clés au lieu de la ponctuation.
 Compatibilité avec les environnements
Python prend en charge plusieurs systèmes d’exploitations tels qu’Android, IOS et Windows.
En fait, il est possible pour vous d’utiliser des interpréteurs Python pour manipuler et exécuter
le code dans de différentes plateformes.
 Support du Big Data
Python est l’un des langages les plus utilisés pour le traitement de données massifs, grâce au
grand nombre de librairies disponibles pour le traitement Big Data. Ce langage offre plusieurs
méthodes et algorithmes qui traitent efficacement les données.
 Communauté riche
Python dispose d’une large communauté très active qui fournit des guides et des tutoriels
d’apprentissage ainsi que des réponses à vos questions les plus pertinentes. Sans oublier
qu’avoir Google comme Sponsor ne pourra que compléter ce que nous venons de dire
LIBRAIRES PYTHON
Python comporte une large gamme de librairies pour Data science et Data
Analytics. Qu'est-ce qu'une librairie ? Du code pré-fait permettant de réaliser
des tâches des plus simples (faire du calcul, importer d'importants jeux de
données) aux plus complexes (créer ses propres modèles de Machine
Learning). Lorsque l'on arrive sur des problématiques de Deep Learning, nous
parlons alors de Frameworks. Voici les librairies Python les plus
communément utilisées :

 Numpy
Utile pour les calculs mathématiques comme la multiplication matricielle,
opérations sur les tableaux.
LIBRAIRES PYTHON
 SciPy
Utile pour les calculs scientifiques avec des modules de visualisation,
optimisation, algèbre linéaire et beaucoup d'autres concepts
mathématiques.

 Pandas
Contient des outils et des fonctions qui rendent l’analyse des données rapide
et moins complexe. Elle comporte 2 structures de données importantes : les
séries unidimensionnelles indexées (int, string…), et les DataFrame qui sont
des structures bidimensionnelles indexées, sous forme de lignes et colonnes.
Tout ceci rend facile l’extraction et la récupération par Python des données
Excel, CSV ou SQL. Pandas fournit une variété de fonctions utiles, qu’on peut
exécuter sur les séries et les DataFrames comme Average, Sum, Group By…
LIBRAIRES PYTHON
 Scikit Learn
C’est un package Python pour du Machine Learning ! Il inclut une large
gamme d’algorithmes de Machine Learning et permet d’implémenter des
traitements simples ou complexes. Son grand avantage est qu’il est
compatible avec les autres librairies Python, surtout Pandas et Numpy. Ce
package contient par exemple les algorithmes de régression, et il permet de
calculer le taux de précision de ces algorithmes.

 Matplotlib et Seaborn
Ce sont des librairies très utiles pour la visualisation de
données sous forme de graphiques et histogrammes.
PYTHON BASIC: IDE
force de Python vient de la stabilité, modernité et variété de ses environnements
de développement (IDE).  Pycharm
Un développeur Python expérimenté
utilise le plus souvent PyCharm, qui est
considéré comme le meilleur IDE pour le
développement Python sous Windows.
PyCharm est un IDE multiplateforme créé
par la société JetBrains. Cet éditeur de
code intelligent peut être utilisé sur les
systèmes macOS et Linux.
Ce logiciel comprend une API qui peut
être employée par les développeurs pour
transcrire leurs plugins Python afin qu’ils
puissent prolonger les fonctionnalités
simples.
PYTHON BASIC: IDE
 Atom
Atom est un IDE léger, multiplateforme et open-source développé à l’aide de
technologies web.
Atom est
extrêmement
personnalisable
et offre un
support du
langage Python,
en installant
l’extension
lorsque Atom
exécute des
scripts Python.
PYTHON BASIC: IDE
 Spyder
Appelé Pydee dans ses versions initiales, Spyder est un autre excellent IDE Python
multiplateforme et open-source.
Il est également connu sous le
nom de Scientific Python
Development IDE et est le plus
léger des IDE Python. Il est
surtout utilisé par les
spécialistes des données qui
peuvent intégrer SciPy,
Pandas, Matplotlib, NumPy,
IPython, SymPy, Cython et
d’autres logiciels libres de ce
type.
PYTHON BASIC: IDE
 JUPYTER
Le bloc-notes Jupyter est une plate-forme informatique interactive basée sur le Web..

Jupyter Notebook est


l'application Web originale pour
créer et partager des documents
informatiques. Il offre une
expérience simple, rationalisée
et centrée sur les documents.
PYTHON BASIC: IDE
 Vim
Vim est le meilleur éditeur de code Python, permettant la manipulation des
fichiers texte.

 Sublime Text
Sublime Text est un IDE multiplateforme établi en Python et C++. Cet IDE
pour Python sur Windows a un support intégré élémentaire pour Python .

 Visual Studio Code


Visual Studio Code ou VS Code est un logiciel d’édition de code open-source et
extensible généré par Microsoft qui peut être utilisé pour les applications Python.
S’IL Y A DES QUESTIONS ?

Vous aimerez peut-être aussi