SlideShare une entreprise Scribd logo
Maîtriser les Data Sciences avec Python Language
Béchir BEJAOUI
Formateur et consultant indépendant
Présentation de la Partie II
Python quelques notions
avancées
Maîtriser les Data Sciences avec Python Language
La présentation de la deuxième partie
1. Chapitre la programmation orientée objet en Python
2. Chapitre Les méthodes magiques et compréhensions
3. Chapitre le threading et le coroutine en Python
5. Chapitre l’interopérabilité en Python
4. Chapitre la programmation en métadonnées en Python
6. Le bilan
Maîtriser les Data Sciences avec Python Language
La présentation de la deuxième partie
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Le principe de programmation
POO
Maîtriser les Data Sciences avec Python Language
Le principe de programmation POO
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
Maîtriser les Data Sciences avec Python Language
Le principe dans la nature:
Le plan Les instances de maisons
Le principe de programmation POO
Classe Objets
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Héritage
Generalize
Le principe de programmation POO
Specialize
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Python , C++
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Java , C#
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Internet @
Groupes Admin
Moderator
Déléguer
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Visibilité publique Visibilité protégée Visibilité privée
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Charles Darwin
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Se déplace Se déplace
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Récup
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Le principe de programmation
POO
Maîtriser les Data Sciences avec Python Language
Le principe de programmation POO
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
Maîtriser les Data Sciences avec Python Language
Le principe dans la nature:
Le plan Les instances de maisons
Le principe de programmation POO
Classe Objets
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Héritage
Generalize
Le principe de programmation POO
Specialize
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Python , C++
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Java , C#
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Internet @
Groupes Admin
Moderator
Déléguer
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Visibilité publique Visibilité protégée Visibilité privée
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Charles Darwin
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Se déplace Se déplace
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Récup
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Le principe de programmation
POO
Maîtriser les Data Sciences avec Python Language
Le principe de programmation POO
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
 Héritage
 Encapsulation
Maîtriser les Data Sciences avec Python Language
Le principe dans la nature:
Le plan Les instances de maisons
Le principe de programmation POO
Classe Objets
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Héritage
Generalize
Le principe de programmation POO
Specialize
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Python , C++
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Java , C#
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Internet @
Groupes Admin
Moderator
Déléguer
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Visibilité publique Visibilité protégée Visibilité privée
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Les langages compilés
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
1
2
1
2
Les langages compilés
C # Java
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Charles Darwin
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Se déplace Se déplace
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Récup
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
 Héritage
 Mangling (Encapsulation)
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Le principe de programmation
POO
Maîtriser les Data Sciences avec Python Language
Le principe de programmation POO
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
Maîtriser les Data Sciences avec Python Language
Le principe dans la nature:
Le plan Les instances de maisons
Le principe de programmation POO
Classe Objets
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Héritage
Generalize
Le principe de programmation POO
Specialize
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Python , C++
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Java , C#
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Internet @
Groupes Admin
Moderator
Déléguer
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Visibilité publique Visibilité protégée Visibilité privée
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Charles Darwin
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Se déplace Se déplace
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Récup
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Le principe de programmation
POO
Maîtriser les Data Sciences avec Python Language
Le principe de programmation POO
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
 Héritage
 Mangling vs Encapsulation
 Le polymorphisme
Maîtriser les Data Sciences avec Python Language
Le principe dans la nature:
Le plan Les instances de maisons
Le principe de programmation POO
Classe Objets
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Héritage
Generalize
Le principe de programmation POO
Specialize
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Python , C++
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Java , C#
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Internet @
Groupes Admin
Moderator
Déléguer
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Visibilité publique Visibilité protégée Visibilité privée
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Les langages compilés
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
1
2
1
2
Les langages compilés
C # Java
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Charles Darwin
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Se déplace Se déplace
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Récup
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
 Héritage
 Mangling (Encapsulation)
 Le polymorphisme
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Le principe de programmation
POO
Maîtriser les Data Sciences avec Python Language
Le principe de programmation POO
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
 Héritage
 Mangling vs Encapsulation
 Le polymorphisme
 Les membres d’instance, de classe et statique
Maîtriser les Data Sciences avec Python Language
Le principe dans la nature:
Le plan Les instances de maisons
Le principe de programmation POO
Classe Objets
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Héritage
Generalize
Le principe de programmation POO
Specialize
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Python , C++
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Héritage »:
Generalize
Java , C#
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Internet @
Groupes Admin
Moderator
Déléguer
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Visibilité publique Visibilité protégée Visibilité privée
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Les langages compilés
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
1
2
1
2
Les langages compilés
C # Java
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Encapsulation »:
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Charles Darwin
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Les trois piliers de POO « Polymorphisme »:
Se déplace Se déplace
Le principe de programmation POO
Maîtriser les Data Sciences avec Python Language
Récup
• Le principe inspiré de la nature
• Les trois piliers de POO
• Classe vs Module
• Anatomie de classe
 Héritage
 Mangling (Encapsulation)
 Le polymorphisme
 Les membres d’instance, de classe et statique
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les méthodes magiques
Maîtriser les Data Sciences avec Python Language
Les méthodes magiques
• Introduction des méthodes magiques
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction des méthodes magiques
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les conteneurs personnalisés
Maîtriser les Data Sciences avec Python Language
Les conteneurs personnalisés
• Les conteneurs personnalisés
Maîtriser les Data Sciences avec Python Language
Récup
• Les conteneurs personnalisés
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les générateurs et le module itertools
Maîtriser les Data Sciences avec Python Language
Les générateurs et le module itertools
• Les générateurs
• Quelques cas d’utilisation du module itertools
Maîtriser les Data Sciences avec Python Language
Récup
• Les générateurs
• Quelques cas d’utilisation du module itertools
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La surcharge des opérateurs
Maîtriser les Data Sciences avec Python Language
La surcharge opérateurs
• La surcharge opérateurs
 Les opérateurs surchargés Builtin
 Les opérateurs surchargés Personnalisés
 Les opérateurs surchargés reflétés
Maîtriser les Data Sciences avec Python Language
Récup
 Les opérateurs surchargés Builtin
 Les opérateurs surchargés reflétés
 Les opérateurs surchargés Personnalisés
• La surcharge opérateurs
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les Compréhensions
Maîtriser les Data Sciences avec Python Language
Les compréhensions
• Les compréhensions
 Les compréhensions de listes
 Les compréhensions de sets
 Les compréhensions de dictionnaires
 Les compréhensions de générateurs
Maîtriser les Data Sciences avec Python Language
Récup
• Les compréhensions
 Les compréhensions de listes
 Les compréhensions de sets
 Les compréhensions de dictionnaires
 Les compréhensions de générateurs
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La gestion de contexte
Maîtriser les Data Sciences avec Python Language
La gestion de contexte
• Introduction de gestion de contexte
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction de gestion de contexte
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLoc(Mutex)
 Conditions (Wait/Notify)
 Queues
 Evénements
• Introduction du Co routine
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLoc(Mutex)
 Conditions (Wait/Notify)
 Queues
 Evénements
• Introduction du Co routine
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLoc(Mutex)
 Conditions (Wait/Notify)
 Queues
 Evénements
• Introduction du Co routine
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLoc(Mutex)
 Conditions (Wait/Notify)
 Queues
 Evénements
• Introduction du Co routine
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
• Semaphore vs Mutex
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Cas de Mutex (Lock) Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Cas de Mutex (Lock) Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
Semaphore
Surface 4 m2 Surface 4 m2
=Buffer =
Mutex= Semaphore=
=Thread Thread =
Cas de Mutex (RLock)
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
• Semaphore vs Mutex
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
 Conditions
 Queues
 Evénements
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
 Conditions
 Queues
 Evénements
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
 Conditions
 Queues
 Evénements
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
 Conditions
 Queues
 Evénements
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
 Conditions
 Queues
 Evénements
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLock(Mutex)
 Conditions
 Queues
 Evénements
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
La programmation multi tâche
Le Threading et le Co routine
Maîtriser les Data Sciences avec Python Language
Le threading et le Co routine
• Introduction du threading
 Semaphore
 Lock &RLoc(Mutex)
 Conditions (Wait/Notify)
 Queues
 Evénements
• Introduction du Co routine
Maîtriser les Data Sciences avec Python Language
Récup
• Introduction du threading
 Semaphore
 Lock &RLoc(Mutex)
 Conditions (Wait/Notify)
 Queues
 Evénements
• Introduction du Co routine
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les décorateurs et descripteurs
Maîtriser les Data Sciences avec Python Language
Les décorateurs et descripteurs
• Quelques cas de programmation fonctionnelle
• Rappel d’implémentation des fonctions imbriquées
• Introduction des décorateurs
• Cas des décorateur spécial @property
• Introduction des descripteurs
• Data descriptors
• Non data descriptors
Maîtriser les Data Sciences avec Python Language
Récup
• Quelques cas de programmation fonctionnelle
• Rappel d’implémentation des fonctions imbriquées
• Introduction des décorateurs
• Cas des décorateur spécial @property
• Introduction des descripteurs
• Data descriptors
• Non data descriptors
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les décorateurs et descripteurs
Maîtriser les Data Sciences avec Python Language
Les décorateurs et descripteurs
• Quelques cas de programmation fonctionnelle
• Rappel d’implémentation des fonctions imbriquées
• Introduction des décorateurs
• Cas du décorateur spécial @property
 Les décorateurs sans paramètres
 Les décorateurs avec paramètres
Maîtriser les Data Sciences avec Python Language
Récup
• Quelques cas de programmation fonctionnelle
• Rappel d’implémentation des fonctions imbriquées
• Introduction des décorateurs
• Cas du décorateur spécial @property
 Les décorateurs sans paramètres
 Les décorateurs avec paramètres
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les décorateurs et descripteurs
Maîtriser les Data Sciences avec Python Language
Les décorateurs et descripteurs
• Quelques cas de programmation fonctionnelle
• Rappel d’implémentation des fonctions imbriquées
• Introduction des décorateurs
• Cas des décorateur spécial @property
• Introduction des descripteurs
• Data descriptors
• Non data descriptors
Maîtriser les Data Sciences avec Python Language
Récup
• Quelques cas de programmation fonctionnelle
• Rappel d’implémentation des fonctions imbriquées
• Introduction des décorateurs
• Cas des décorateur spécial @property
• Introduction des descripteurs
• Data descriptors
• Non data descriptors
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Les méta classes
Maîtriser les Data Sciences avec Python Language
Les méta classes
• Les méta classes
 Utilisées pour décrire une classe « Méta données »
 Utilisées pour définir une classe dynamiquement
au moment de l’exécution
Maîtriser les Data Sciences avec Python Language
Récup
• Les méta classes
 Utilisées pour décrire une classe « Méta données »
 Utilisées pour définir une classe dynamiquement
au moment de l’exécution
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Interopérabilité
Python
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Interopérabilité
 Avec C
 En utilisant Cython
 Moyennant Protobuff
 En utilisant Python C API
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Pourquoi C ?
Capteurs
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Pourquoi C ?
BeagleBone Arduino Stm32
Raspberry PI
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment ?
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Autres raisons ?
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Autres raisons ?
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Autres raisons ?
Maîtriser les Data Sciences avec Python Language
Récup
• Interopérabilité
 Avec C
 En utilisant Cython
 Moyennant Protobuff
 En utilisant Python C API
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Interopérabilité
Python
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Interopérabilité
 Avec C en utilisant Python C API
 Avec C en utilisant Cython
 Avec R
 Avec Julia
 En utilisant Protobuff
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Exemple de bibliothèque cible
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment gérer les arguments dans l’enveloppe
1. int PyArg_ParseTuple
2. int PyArg_ParseTupleAndKeywords
3. int PyArg_Parse
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Quels sont les types des arguments possibles
1. i : Entier
2. l : Long
3. h : Short
4. d : Double
5. s : char*
6. b : char non signé
Maîtriser les Data Sciences avec Python Language
Récup
• Interopérabilité
 Avec C en utilisant Python C API
 Avec C en utilisant Cython
 Avec R
 Avec Julia
 En utilisant Protobuff
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Interopérabilité
Python
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Interopérabilité
 Avec C en utilisant Python C API
 Avec C en utilisant Cython
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• C’est quoi cython?
 Cython utilise un langage hybride proche de Python pour définir les instructions
 La commande cython permet de générer l'interface en termes de C selon
Python API C à partir du code Python
 Le module Cython permet de générer le code en C et les bibliothèques en .o et .so ,
appelables à partir de Python
 Le pseudo langage Cython est du C déguisé en presque du Python
 Cython = Compilateur statique Module Pseudo langage Ensemble de librairies+ + +
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Pourquoi cython?
 Le code en C est conforme en termes des enveloppes de Python C API
 C est plus performant que Python
 Génération du code C tout en restant dans Python pour les programmeurs non C
Python Cython
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment procéder?
 Importer Cython le module dans Jupyter Notebook à l’aide de la méthode de
ligne %load_ext en précédant le code cython par la méthode magique
%%cython
 Créer le fichier setup.py à l’aide de distutils et appeler le code persisté dans les
fichiers portant les extensions .pyx via la commande Python
 Utiliser le module pyximport pour importer le code en cython persisté
dans les fichiers d’extension .pyx d’une façon dynamique
• Quels outils pour démarrer avec Cython ?
 Installer Cython à l’aide de conda ou pip
 Installer un compilateur C/C++ exemple GCC ou MinGW
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment est la déclaration des types en cython?
Types scalaires
Structures spécifiques à C
Des classes
Des listesDes tuples
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment est la déclaration des fonctions en cython?
Cas de fonction retournant une valeur scalaire
Cas de fonction retournant un ensemble de valeurs
• Quelle est la différence entre def, cdef et cpdef?
 Les objets def sont appelés directement seulement à partir de Python
 Les objets cdef sont appelés directement seulement à partir de cython et C
 Les objets cpdef sont appelés à partir de cython, Python et C
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Les fonctions cdef
 Les fonctions cdef ne peuvent pas être définies dans d'autres fonctions
 Les fonctions cdef ne peuvent pas utiliser *args et **kwargs car il y a pas
d’équivalent en C en terme des arguments optionnels et nommés ainsi que
le nombre non définit d’arguments
 Les fonctions cdef sont plus performantes que les autres types de fonctions
• Les fonctions cpdef
 Les fonctions cpdef obligent cython à générer des fonctions def et des
équivalents en cdef en respectant les contraintes des deux types de fonctions
 Les fonctions cdef sont utilisées en cas de passage de paramètres par
référence
Maîtriser les Data Sciences avec Python Language
Récup
• Interopérabilité
 Avec C en utilisant Python C API
 Avec C en utilisant Cython
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Interopérabilité
Python
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Interopérabilité
 Avec C en utilisant Python C API
 Avec C en utilisant Cython
• Appeler Cython à partir de ipython
• Appeler un module pyx à l’aide de pyximport
• Appeler un module pyx à l’aide du module Cython
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• C’est quoi cython?
 Cython utilise un langage hybride proche de Python pour définir les instructions
 La commande cython permet de générer l'interface en termes de C selon
Python API C à partir du code Python
 Le module Cython permet de générer le code en C et les bibliothèques en .o et .so ,
appelables à partir de Python
 Le pseudo langage Cython est du C déguisé en presque du Python
 Cython = Compilateur statique Module Pseudo langage Ensemble de librairies+ + +
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Pourquoi cython?
 Le code en C est conforme en termes des enveloppes de Python C API
 C est plus performant que Python
 Génération du code C tout en restant dans Python pour les programmeurs non C
Python Cython
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment procéder?
 Importer Cython le module dans Jupyter Notebook à l’aide de la méthode de
ligne %load_ext en précédant le code cython par la méthode magique
%%cython
 Créer le fichier setup.py à l’aide de distutils et appeler le code persisté dans les
fichiers portant les extensions .pyx via la commande Python
 Utiliser le module pyximport pour importer le code en cython persisté
dans les fichiers d’extension .pyx d’une façon dynamique
• Quels outils pour démarrer avec Cython ?
 Installer Cython à l’aide de conda ou pip
 Installer un compilateur C/C++ exemple GCC ou MinGW
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment est la déclaration des types en cython?
Types scalaires
Structures spécifiques à C
Des classes
Des listesDes tuples
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment est la déclaration des fonctions en cython?
Cas de fonction retournant une valeur scalaire
Cas de fonction retournant un ensemble de valeurs
• Quelle est la différence entre def, cdef et cpdef?
 Les objets def sont appelés directement seulement à partir de Python
 Les objets cdef sont appelés directement seulement à partir de cython et C
 Les objets cpdef sont appelés à partir de cython, Python et C
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Les fonctions cdef
 Les fonctions cdef ne peuvent pas être définies dans d'autres fonctions
 Les fonctions cdef ne peuvent pas utiliser *args et **kwargs car il y a pas
d’équivalent en C en terme des arguments optionnels et nommés ainsi que
le nombre non définit d’arguments
 Les fonctions cdef sont plus performantes que les autres types de fonctions
• Les fonctions cpdef
 Les fonctions cpdef obligent cython à générer des fonctions def et des
équivalents en cdef en respectant les contraintes des deux types de fonctions
 Les fonctions cdef sont utilisées en cas de passage de paramètres par
référence
Maîtriser les Data Sciences avec Python Language
Récup
• Interopérabilité
 Avec C en utilisant Python C API
 Avec C en utilisant Cython
• Appeler Cython à partir de ipython
• Appeler un module pyx à l’aide de pyximport
• Appeler un module pyx à l’aide du module Cython
Maîtriser les Data Sciences avec Python Language
Python les notions avancées
Béchir BEJAOUI
Formateur et consultant indépendant
Interopérabilité
Python
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Echange des données avec Protobuff
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• C’est quoi Protobuff?
 Protobuff permet à Python de traiter des volumes et des structures de données
représentées sous forme de tableaux d'octets
 Protobuff est très utile pour les data sciences du faite qu'il est possible que
plusieurs codes Python peuvent traiter le même tampon de données souvent
volumineux sans avoir recours à faire des copies
 Protobuff permet aussi l'interopérabilité avec bien d’autres plateformes et langages
tel que C++, C#, Objective-C, Java, Ruby et GO
 Protobuff est un protocole d’échange de données sous forme de messages, il est
crée et utilisé par Google pour l’usage en interne dans un premier lieux
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Quel sont les avantages de Protobuff?
 Protobuff génère des messages presque 6 fois moins volumineux que XML
 Protobuff est 60 fois plus rapide en traitement que XML et JSON
 Protobuff plus convenable pour les systèmes embarqués
Maîtriser les Data Sciences avec Python Language
Interopérabilité & Python
• Comment démarrer avec Protobuff?
 Installer Protobuff à l’aide de pip3 (optionnel)
 Installer grpcio-tools à l’aide de pip3
 Créer un fichier en format Protobuff
 Générer le fichier python correspondant à l’aide de la commande
python3 -m grpc_tools.protoc -I= Nom répertoire --python_out= Nom du
dossier de sortie Nom du fichier .proto
Maîtriser les Data Sciences avec Python Language
Récup
• Echange des données avec Protobuff
Maîtriser les Data Sciences avec Python Language
Le Bilan
Quelques notions avancées
en Python
Béchir BEJAOUI
Formateur et consultant indépendant
Maîtriser les Data Sciences avec Python Language
Le Bilan de la deuxième partie
1. Chapitre la programmation orientée objet en Python
2. Chapitre Les méthodes magiques et compréhensions
3. Chapitre le threading et le coroutine en Python
5. Chapitre l’interopérabilité en Python
4. Chapitre la programmation en métadonnées en Python
6. Le bilan
Maîtriser les Data Sciences avec Python Language
Prepared for you with love

Contenu connexe

Plus de SmartnSkilled

Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?SmartnSkilled
 
Support tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERPSupport tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERPSmartnSkilled
 
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec DockerSupport formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec DockerSmartnSkilled
 
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exerciceSupport formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exerciceSmartnSkilled
 
Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?SmartnSkilled
 
Support cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnelsSupport cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnelsSmartnSkilled
 
Support cours : Les phares du marketing
Support cours : Les phares du marketingSupport cours : Les phares du marketing
Support cours : Les phares du marketingSmartnSkilled
 
Support formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeurSupport formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeurSmartnSkilled
 
Support cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERPSupport cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERPSmartnSkilled
 
Tutoriel : Online English Expertise
Tutoriel : Online English ExpertiseTutoriel : Online English Expertise
Tutoriel : Online English ExpertiseSmartnSkilled
 
Formation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commercialeFormation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commercialeSmartnSkilled
 
Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)SmartnSkilled
 
Support cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASASupport cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASASmartnSkilled
 
Support Tutoriel : Online English Expertise
Support Tutoriel : Online English ExpertiseSupport Tutoriel : Online English Expertise
Support Tutoriel : Online English ExpertiseSmartnSkilled
 
Support formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiquesSupport formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiquesSmartnSkilled
 
Support Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en publicSupport Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en publicSmartnSkilled
 
Support formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soiSupport formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soiSmartnSkilled
 
Support formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketingSupport formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketingSmartnSkilled
 
Support formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuelsSupport formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuelsSmartnSkilled
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSmartnSkilled
 

Plus de SmartnSkilled (20)

Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?
 
Support tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERPSupport tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERP
 
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec DockerSupport formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec Docker
 
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exerciceSupport formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
 
Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?
 
Support cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnelsSupport cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnels
 
Support cours : Les phares du marketing
Support cours : Les phares du marketingSupport cours : Les phares du marketing
Support cours : Les phares du marketing
 
Support formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeurSupport formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeur
 
Support cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERPSupport cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERP
 
Tutoriel : Online English Expertise
Tutoriel : Online English ExpertiseTutoriel : Online English Expertise
Tutoriel : Online English Expertise
 
Formation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commercialeFormation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commerciale
 
Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)
 
Support cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASASupport cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASA
 
Support Tutoriel : Online English Expertise
Support Tutoriel : Online English ExpertiseSupport Tutoriel : Online English Expertise
Support Tutoriel : Online English Expertise
 
Support formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiquesSupport formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiques
 
Support Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en publicSupport Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en public
 
Support formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soiSupport formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soi
 
Support formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketingSupport formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketing
 
Support formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuelsSupport formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuels
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 

Dernier

Résultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfRésultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfGERESO
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsTechnologia Formation
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesSOLIANAEvelyne
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Pedago Lu
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...zidani2
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?sashaflor182
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024frizzole
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMartin M Flynn
 
Festival de Cannes 2024.pptx
Festival    de     Cannes        2024.pptxFestival    de     Cannes        2024.pptx
Festival de Cannes 2024.pptxTxaruka
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Technologia Formation
 
Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesHamdConseil
 

Dernier (11)

Résultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfRésultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdf
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctions
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
 
Festival de Cannes 2024.pptx
Festival    de     Cannes        2024.pptxFestival    de     Cannes        2024.pptx
Festival de Cannes 2024.pptx
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
 
Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprises
 

Support cours : Les Data Sciences avec Python Langage - Partie II

  • 1. Maîtriser les Data Sciences avec Python Language Béchir BEJAOUI Formateur et consultant indépendant Présentation de la Partie II Python quelques notions avancées
  • 2. Maîtriser les Data Sciences avec Python Language La présentation de la deuxième partie 1. Chapitre la programmation orientée objet en Python 2. Chapitre Les méthodes magiques et compréhensions 3. Chapitre le threading et le coroutine en Python 5. Chapitre l’interopérabilité en Python 4. Chapitre la programmation en métadonnées en Python 6. Le bilan
  • 3. Maîtriser les Data Sciences avec Python Language La présentation de la deuxième partie
  • 4. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Le principe de programmation POO
  • 5. Maîtriser les Data Sciences avec Python Language Le principe de programmation POO • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe
  • 6. Maîtriser les Data Sciences avec Python Language Le principe dans la nature: Le plan Les instances de maisons Le principe de programmation POO Classe Objets
  • 7. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Héritage Generalize Le principe de programmation POO Specialize
  • 8. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Le principe de programmation POO
  • 9. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Python , C++ Le principe de programmation POO
  • 10. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Java , C# Le principe de programmation POO
  • 11. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Internet @ Groupes Admin Moderator Déléguer
  • 12. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Visibilité publique Visibilité protégée Visibilité privée
  • 13. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Charles Darwin Le principe de programmation POO
  • 14. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Se déplace Se déplace Le principe de programmation POO
  • 15. Maîtriser les Data Sciences avec Python Language Récup • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe
  • 16. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Le principe de programmation POO
  • 17. Maîtriser les Data Sciences avec Python Language Le principe de programmation POO • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe
  • 18. Maîtriser les Data Sciences avec Python Language Le principe dans la nature: Le plan Les instances de maisons Le principe de programmation POO Classe Objets
  • 19. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Héritage Generalize Le principe de programmation POO Specialize
  • 20. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Le principe de programmation POO
  • 21. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Python , C++ Le principe de programmation POO
  • 22. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Java , C# Le principe de programmation POO
  • 23. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Internet @ Groupes Admin Moderator Déléguer
  • 24. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Visibilité publique Visibilité protégée Visibilité privée
  • 25. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Charles Darwin Le principe de programmation POO
  • 26. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Se déplace Se déplace Le principe de programmation POO
  • 27. Maîtriser les Data Sciences avec Python Language Récup • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe
  • 28. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Le principe de programmation POO
  • 29. Maîtriser les Data Sciences avec Python Language Le principe de programmation POO • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe  Héritage  Encapsulation
  • 30. Maîtriser les Data Sciences avec Python Language Le principe dans la nature: Le plan Les instances de maisons Le principe de programmation POO Classe Objets
  • 31. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Héritage Generalize Le principe de programmation POO Specialize
  • 32. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Le principe de programmation POO
  • 33. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Python , C++ Le principe de programmation POO
  • 34. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Java , C# Le principe de programmation POO
  • 35. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Internet @ Groupes Admin Moderator Déléguer
  • 36. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Visibilité publique Visibilité protégée Visibilité privée
  • 37. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Les langages compilés
  • 38. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO 1 2 1 2 Les langages compilés C # Java
  • 39. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO
  • 40. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Charles Darwin Le principe de programmation POO
  • 41. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Se déplace Se déplace Le principe de programmation POO
  • 42. Maîtriser les Data Sciences avec Python Language Récup • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe  Héritage  Mangling (Encapsulation)
  • 43. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Le principe de programmation POO
  • 44. Maîtriser les Data Sciences avec Python Language Le principe de programmation POO • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe
  • 45. Maîtriser les Data Sciences avec Python Language Le principe dans la nature: Le plan Les instances de maisons Le principe de programmation POO Classe Objets
  • 46. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Héritage Generalize Le principe de programmation POO Specialize
  • 47. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Le principe de programmation POO
  • 48. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Python , C++ Le principe de programmation POO
  • 49. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Java , C# Le principe de programmation POO
  • 50. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Internet @ Groupes Admin Moderator Déléguer
  • 51. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Visibilité publique Visibilité protégée Visibilité privée
  • 52. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Charles Darwin Le principe de programmation POO
  • 53. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Se déplace Se déplace Le principe de programmation POO
  • 54. Maîtriser les Data Sciences avec Python Language Récup • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe
  • 55. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Le principe de programmation POO
  • 56. Maîtriser les Data Sciences avec Python Language Le principe de programmation POO • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe  Héritage  Mangling vs Encapsulation  Le polymorphisme
  • 57. Maîtriser les Data Sciences avec Python Language Le principe dans la nature: Le plan Les instances de maisons Le principe de programmation POO Classe Objets
  • 58. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Héritage Generalize Le principe de programmation POO Specialize
  • 59. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Le principe de programmation POO
  • 60. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Python , C++ Le principe de programmation POO
  • 61. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Java , C# Le principe de programmation POO
  • 62. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Internet @ Groupes Admin Moderator Déléguer
  • 63. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Visibilité publique Visibilité protégée Visibilité privée
  • 64. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Les langages compilés
  • 65. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO 1 2 1 2 Les langages compilés C # Java
  • 66. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO
  • 67. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Charles Darwin Le principe de programmation POO
  • 68. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Se déplace Se déplace Le principe de programmation POO
  • 69. Maîtriser les Data Sciences avec Python Language Récup • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe  Héritage  Mangling (Encapsulation)  Le polymorphisme
  • 70. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Le principe de programmation POO
  • 71. Maîtriser les Data Sciences avec Python Language Le principe de programmation POO • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe  Héritage  Mangling vs Encapsulation  Le polymorphisme  Les membres d’instance, de classe et statique
  • 72. Maîtriser les Data Sciences avec Python Language Le principe dans la nature: Le plan Les instances de maisons Le principe de programmation POO Classe Objets
  • 73. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Héritage Generalize Le principe de programmation POO Specialize
  • 74. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Le principe de programmation POO
  • 75. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Python , C++ Le principe de programmation POO
  • 76. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Héritage »: Generalize Java , C# Le principe de programmation POO
  • 77. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Internet @ Groupes Admin Moderator Déléguer
  • 78. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Visibilité publique Visibilité protégée Visibilité privée
  • 79. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO Les langages compilés
  • 80. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO 1 2 1 2 Les langages compilés C # Java
  • 81. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Encapsulation »: Le principe de programmation POO
  • 82. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Charles Darwin Le principe de programmation POO
  • 83. Maîtriser les Data Sciences avec Python Language Les trois piliers de POO « Polymorphisme »: Se déplace Se déplace Le principe de programmation POO
  • 84. Maîtriser les Data Sciences avec Python Language Récup • Le principe inspiré de la nature • Les trois piliers de POO • Classe vs Module • Anatomie de classe  Héritage  Mangling (Encapsulation)  Le polymorphisme  Les membres d’instance, de classe et statique
  • 85. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les méthodes magiques
  • 86. Maîtriser les Data Sciences avec Python Language Les méthodes magiques • Introduction des méthodes magiques
  • 87. Maîtriser les Data Sciences avec Python Language Récup • Introduction des méthodes magiques
  • 88. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les conteneurs personnalisés
  • 89. Maîtriser les Data Sciences avec Python Language Les conteneurs personnalisés • Les conteneurs personnalisés
  • 90. Maîtriser les Data Sciences avec Python Language Récup • Les conteneurs personnalisés
  • 91. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les générateurs et le module itertools
  • 92. Maîtriser les Data Sciences avec Python Language Les générateurs et le module itertools • Les générateurs • Quelques cas d’utilisation du module itertools
  • 93. Maîtriser les Data Sciences avec Python Language Récup • Les générateurs • Quelques cas d’utilisation du module itertools
  • 94. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La surcharge des opérateurs
  • 95. Maîtriser les Data Sciences avec Python Language La surcharge opérateurs • La surcharge opérateurs  Les opérateurs surchargés Builtin  Les opérateurs surchargés Personnalisés  Les opérateurs surchargés reflétés
  • 96. Maîtriser les Data Sciences avec Python Language Récup  Les opérateurs surchargés Builtin  Les opérateurs surchargés reflétés  Les opérateurs surchargés Personnalisés • La surcharge opérateurs
  • 97. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les Compréhensions
  • 98. Maîtriser les Data Sciences avec Python Language Les compréhensions • Les compréhensions  Les compréhensions de listes  Les compréhensions de sets  Les compréhensions de dictionnaires  Les compréhensions de générateurs
  • 99. Maîtriser les Data Sciences avec Python Language Récup • Les compréhensions  Les compréhensions de listes  Les compréhensions de sets  Les compréhensions de dictionnaires  Les compréhensions de générateurs
  • 100. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La gestion de contexte
  • 101. Maîtriser les Data Sciences avec Python Language La gestion de contexte • Introduction de gestion de contexte
  • 102. Maîtriser les Data Sciences avec Python Language Récup • Introduction de gestion de contexte
  • 103. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 104. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLoc(Mutex)  Conditions (Wait/Notify)  Queues  Evénements • Introduction du Co routine
  • 105. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLoc(Mutex)  Conditions (Wait/Notify)  Queues  Evénements • Introduction du Co routine
  • 106. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 107. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLoc(Mutex)  Conditions (Wait/Notify)  Queues  Evénements • Introduction du Co routine
  • 108. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLoc(Mutex)  Conditions (Wait/Notify)  Queues  Evénements • Introduction du Co routine
  • 109. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 110. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLock(Mutex) • Semaphore vs Mutex
  • 111. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Cas de Mutex (Lock) Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread =
  • 112. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Cas de Mutex (Lock) Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread =
  • 113. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 114. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 115. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 116. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 117. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 118. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 119. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 120. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 121. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 122. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 123. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine Semaphore Surface 4 m2 Surface 4 m2 =Buffer = Mutex= Semaphore= =Thread Thread = Cas de Mutex (RLock)
  • 124. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLock(Mutex) • Semaphore vs Mutex
  • 125. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 126. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLock(Mutex)  Conditions  Queues  Evénements
  • 127. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLock(Mutex)  Conditions  Queues  Evénements
  • 128. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 129. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLock(Mutex)  Conditions  Queues  Evénements
  • 130. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLock(Mutex)  Conditions  Queues  Evénements
  • 131. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 132. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLock(Mutex)  Conditions  Queues  Evénements
  • 133. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLock(Mutex)  Conditions  Queues  Evénements
  • 134. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant La programmation multi tâche Le Threading et le Co routine
  • 135. Maîtriser les Data Sciences avec Python Language Le threading et le Co routine • Introduction du threading  Semaphore  Lock &RLoc(Mutex)  Conditions (Wait/Notify)  Queues  Evénements • Introduction du Co routine
  • 136. Maîtriser les Data Sciences avec Python Language Récup • Introduction du threading  Semaphore  Lock &RLoc(Mutex)  Conditions (Wait/Notify)  Queues  Evénements • Introduction du Co routine
  • 137. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les décorateurs et descripteurs
  • 138. Maîtriser les Data Sciences avec Python Language Les décorateurs et descripteurs • Quelques cas de programmation fonctionnelle • Rappel d’implémentation des fonctions imbriquées • Introduction des décorateurs • Cas des décorateur spécial @property • Introduction des descripteurs • Data descriptors • Non data descriptors
  • 139. Maîtriser les Data Sciences avec Python Language Récup • Quelques cas de programmation fonctionnelle • Rappel d’implémentation des fonctions imbriquées • Introduction des décorateurs • Cas des décorateur spécial @property • Introduction des descripteurs • Data descriptors • Non data descriptors
  • 140. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les décorateurs et descripteurs
  • 141. Maîtriser les Data Sciences avec Python Language Les décorateurs et descripteurs • Quelques cas de programmation fonctionnelle • Rappel d’implémentation des fonctions imbriquées • Introduction des décorateurs • Cas du décorateur spécial @property  Les décorateurs sans paramètres  Les décorateurs avec paramètres
  • 142. Maîtriser les Data Sciences avec Python Language Récup • Quelques cas de programmation fonctionnelle • Rappel d’implémentation des fonctions imbriquées • Introduction des décorateurs • Cas du décorateur spécial @property  Les décorateurs sans paramètres  Les décorateurs avec paramètres
  • 143. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les décorateurs et descripteurs
  • 144. Maîtriser les Data Sciences avec Python Language Les décorateurs et descripteurs • Quelques cas de programmation fonctionnelle • Rappel d’implémentation des fonctions imbriquées • Introduction des décorateurs • Cas des décorateur spécial @property • Introduction des descripteurs • Data descriptors • Non data descriptors
  • 145. Maîtriser les Data Sciences avec Python Language Récup • Quelques cas de programmation fonctionnelle • Rappel d’implémentation des fonctions imbriquées • Introduction des décorateurs • Cas des décorateur spécial @property • Introduction des descripteurs • Data descriptors • Non data descriptors
  • 146. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Les méta classes
  • 147. Maîtriser les Data Sciences avec Python Language Les méta classes • Les méta classes  Utilisées pour décrire une classe « Méta données »  Utilisées pour définir une classe dynamiquement au moment de l’exécution
  • 148. Maîtriser les Data Sciences avec Python Language Récup • Les méta classes  Utilisées pour décrire une classe « Méta données »  Utilisées pour définir une classe dynamiquement au moment de l’exécution
  • 149. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Interopérabilité Python
  • 150. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Interopérabilité  Avec C  En utilisant Cython  Moyennant Protobuff  En utilisant Python C API
  • 151. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Pourquoi C ? Capteurs
  • 152. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Pourquoi C ? BeagleBone Arduino Stm32 Raspberry PI
  • 153. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment ?
  • 154. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Autres raisons ?
  • 155. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Autres raisons ?
  • 156. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Autres raisons ?
  • 157. Maîtriser les Data Sciences avec Python Language Récup • Interopérabilité  Avec C  En utilisant Cython  Moyennant Protobuff  En utilisant Python C API
  • 158. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Interopérabilité Python
  • 159. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Interopérabilité  Avec C en utilisant Python C API  Avec C en utilisant Cython  Avec R  Avec Julia  En utilisant Protobuff
  • 160. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Exemple de bibliothèque cible
  • 161. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment gérer les arguments dans l’enveloppe 1. int PyArg_ParseTuple 2. int PyArg_ParseTupleAndKeywords 3. int PyArg_Parse
  • 162. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Quels sont les types des arguments possibles 1. i : Entier 2. l : Long 3. h : Short 4. d : Double 5. s : char* 6. b : char non signé
  • 163. Maîtriser les Data Sciences avec Python Language Récup • Interopérabilité  Avec C en utilisant Python C API  Avec C en utilisant Cython  Avec R  Avec Julia  En utilisant Protobuff
  • 164. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Interopérabilité Python
  • 165. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Interopérabilité  Avec C en utilisant Python C API  Avec C en utilisant Cython
  • 166. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • C’est quoi cython?  Cython utilise un langage hybride proche de Python pour définir les instructions  La commande cython permet de générer l'interface en termes de C selon Python API C à partir du code Python  Le module Cython permet de générer le code en C et les bibliothèques en .o et .so , appelables à partir de Python  Le pseudo langage Cython est du C déguisé en presque du Python  Cython = Compilateur statique Module Pseudo langage Ensemble de librairies+ + +
  • 167. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Pourquoi cython?  Le code en C est conforme en termes des enveloppes de Python C API  C est plus performant que Python  Génération du code C tout en restant dans Python pour les programmeurs non C Python Cython
  • 168. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment procéder?  Importer Cython le module dans Jupyter Notebook à l’aide de la méthode de ligne %load_ext en précédant le code cython par la méthode magique %%cython  Créer le fichier setup.py à l’aide de distutils et appeler le code persisté dans les fichiers portant les extensions .pyx via la commande Python  Utiliser le module pyximport pour importer le code en cython persisté dans les fichiers d’extension .pyx d’une façon dynamique • Quels outils pour démarrer avec Cython ?  Installer Cython à l’aide de conda ou pip  Installer un compilateur C/C++ exemple GCC ou MinGW
  • 169. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment est la déclaration des types en cython? Types scalaires Structures spécifiques à C Des classes Des listesDes tuples
  • 170. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment est la déclaration des fonctions en cython? Cas de fonction retournant une valeur scalaire Cas de fonction retournant un ensemble de valeurs • Quelle est la différence entre def, cdef et cpdef?  Les objets def sont appelés directement seulement à partir de Python  Les objets cdef sont appelés directement seulement à partir de cython et C  Les objets cpdef sont appelés à partir de cython, Python et C
  • 171. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Les fonctions cdef  Les fonctions cdef ne peuvent pas être définies dans d'autres fonctions  Les fonctions cdef ne peuvent pas utiliser *args et **kwargs car il y a pas d’équivalent en C en terme des arguments optionnels et nommés ainsi que le nombre non définit d’arguments  Les fonctions cdef sont plus performantes que les autres types de fonctions • Les fonctions cpdef  Les fonctions cpdef obligent cython à générer des fonctions def et des équivalents en cdef en respectant les contraintes des deux types de fonctions  Les fonctions cdef sont utilisées en cas de passage de paramètres par référence
  • 172. Maîtriser les Data Sciences avec Python Language Récup • Interopérabilité  Avec C en utilisant Python C API  Avec C en utilisant Cython
  • 173. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Interopérabilité Python
  • 174. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Interopérabilité  Avec C en utilisant Python C API  Avec C en utilisant Cython • Appeler Cython à partir de ipython • Appeler un module pyx à l’aide de pyximport • Appeler un module pyx à l’aide du module Cython
  • 175. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • C’est quoi cython?  Cython utilise un langage hybride proche de Python pour définir les instructions  La commande cython permet de générer l'interface en termes de C selon Python API C à partir du code Python  Le module Cython permet de générer le code en C et les bibliothèques en .o et .so , appelables à partir de Python  Le pseudo langage Cython est du C déguisé en presque du Python  Cython = Compilateur statique Module Pseudo langage Ensemble de librairies+ + +
  • 176. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Pourquoi cython?  Le code en C est conforme en termes des enveloppes de Python C API  C est plus performant que Python  Génération du code C tout en restant dans Python pour les programmeurs non C Python Cython
  • 177. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment procéder?  Importer Cython le module dans Jupyter Notebook à l’aide de la méthode de ligne %load_ext en précédant le code cython par la méthode magique %%cython  Créer le fichier setup.py à l’aide de distutils et appeler le code persisté dans les fichiers portant les extensions .pyx via la commande Python  Utiliser le module pyximport pour importer le code en cython persisté dans les fichiers d’extension .pyx d’une façon dynamique • Quels outils pour démarrer avec Cython ?  Installer Cython à l’aide de conda ou pip  Installer un compilateur C/C++ exemple GCC ou MinGW
  • 178. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment est la déclaration des types en cython? Types scalaires Structures spécifiques à C Des classes Des listesDes tuples
  • 179. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment est la déclaration des fonctions en cython? Cas de fonction retournant une valeur scalaire Cas de fonction retournant un ensemble de valeurs • Quelle est la différence entre def, cdef et cpdef?  Les objets def sont appelés directement seulement à partir de Python  Les objets cdef sont appelés directement seulement à partir de cython et C  Les objets cpdef sont appelés à partir de cython, Python et C
  • 180. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Les fonctions cdef  Les fonctions cdef ne peuvent pas être définies dans d'autres fonctions  Les fonctions cdef ne peuvent pas utiliser *args et **kwargs car il y a pas d’équivalent en C en terme des arguments optionnels et nommés ainsi que le nombre non définit d’arguments  Les fonctions cdef sont plus performantes que les autres types de fonctions • Les fonctions cpdef  Les fonctions cpdef obligent cython à générer des fonctions def et des équivalents en cdef en respectant les contraintes des deux types de fonctions  Les fonctions cdef sont utilisées en cas de passage de paramètres par référence
  • 181. Maîtriser les Data Sciences avec Python Language Récup • Interopérabilité  Avec C en utilisant Python C API  Avec C en utilisant Cython • Appeler Cython à partir de ipython • Appeler un module pyx à l’aide de pyximport • Appeler un module pyx à l’aide du module Cython
  • 182. Maîtriser les Data Sciences avec Python Language Python les notions avancées Béchir BEJAOUI Formateur et consultant indépendant Interopérabilité Python
  • 183. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Echange des données avec Protobuff
  • 184. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • C’est quoi Protobuff?  Protobuff permet à Python de traiter des volumes et des structures de données représentées sous forme de tableaux d'octets  Protobuff est très utile pour les data sciences du faite qu'il est possible que plusieurs codes Python peuvent traiter le même tampon de données souvent volumineux sans avoir recours à faire des copies  Protobuff permet aussi l'interopérabilité avec bien d’autres plateformes et langages tel que C++, C#, Objective-C, Java, Ruby et GO  Protobuff est un protocole d’échange de données sous forme de messages, il est crée et utilisé par Google pour l’usage en interne dans un premier lieux
  • 185. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Quel sont les avantages de Protobuff?  Protobuff génère des messages presque 6 fois moins volumineux que XML  Protobuff est 60 fois plus rapide en traitement que XML et JSON  Protobuff plus convenable pour les systèmes embarqués
  • 186. Maîtriser les Data Sciences avec Python Language Interopérabilité & Python • Comment démarrer avec Protobuff?  Installer Protobuff à l’aide de pip3 (optionnel)  Installer grpcio-tools à l’aide de pip3  Créer un fichier en format Protobuff  Générer le fichier python correspondant à l’aide de la commande python3 -m grpc_tools.protoc -I= Nom répertoire --python_out= Nom du dossier de sortie Nom du fichier .proto
  • 187. Maîtriser les Data Sciences avec Python Language Récup • Echange des données avec Protobuff
  • 188. Maîtriser les Data Sciences avec Python Language Le Bilan Quelques notions avancées en Python Béchir BEJAOUI Formateur et consultant indépendant
  • 189. Maîtriser les Data Sciences avec Python Language Le Bilan de la deuxième partie 1. Chapitre la programmation orientée objet en Python 2. Chapitre Les méthodes magiques et compréhensions 3. Chapitre le threading et le coroutine en Python 5. Chapitre l’interopérabilité en Python 4. Chapitre la programmation en métadonnées en Python 6. Le bilan
  • 190. Maîtriser les Data Sciences avec Python Language Prepared for you with love