Maîtrisez les notions avancées de Python !
Dans cette deuxième partie vous allez consolider encore vos requis essentiellement par des notions comme la programmation orientée objet pour bien structurer vos projets.
Formation en ligne :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-maitriser-les-data-sciences-avec-python-language-partie-ii
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