Académique Documents
Professionnel Documents
Culture Documents
PROGRAMMATION
OOP PYTHON
MASTER 1
• 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
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.
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.
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..
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 .