SociétéFormationsCommunicationLogiciels LibresBlogContact
Formation - Intégrer Python et C++
Objet
Python est un langage puissant, orienté objet, convenant parfaitement à la majorité des travaux de développement d'applications et d'interfaces graphiques. Outre sa lisibilité et la simplicité de sa syntaxe, ce qui fait la force de Python est la facilité avec laquelle on peut utiliser et piloter depuis Python des codes écrits dans d'autres langages. Ainsi Python se positionne comme un langage de premier choix dans toutes les applications pour lesquelles la réutilisation de code est réellement importante, comme par exemple les applications de calcul scientifique.
La formation proposée ici étudie les différents moyens, viables industriellement, pour intégrer du code C ou du code C++ dans un programme en Python. Outre l'intégration purement fonctionnelle, elle s'intéresse également aux diverses problématiques inhérentes au C et au C++ (typage, comptage de références, etc.). Enfin, elle propose une critique des différents moyens d'intégration en listant leurs avantages et inconvénients.
La formation comporte une large part de travaux pratiques permettant de mettre en œuvre immédiatement les concepts ayant été vus dans le cadre du cours.
Public visé
Ce cours s'adresse aux personnes souhaitant mettre en œuvre au sein d'un même application des codes en Python et C, ou en Python et C++. Il sera particulièrement apprécié des personnes travaillant dans le domaine scientifique, et souhaitant piloter des codes de simulation en C ou C++ à partir d'une application ou de scripts en Python.
Pré-requis
Bonne connaissance de la programmation en Python, C et C++ (au moins trois mois de pratique régulière de Python, six mois de C et C++), solides connaissances de la programmation objet.
Points abordés
Python et C
  • Étendre Python avec C : définition d'un module d'extension de Python, librairie dynamique, squelette, arguments, compilation et édition de liens, setup.py.
  • Écrire des objets Python avec C : présentation de PyObject, types standard Python, comptage de références, ramasse-miettes, gestion d'erreurs.
Python et Boost
  • Apprendre à intégrer du C++ dans Python avec Boost : présentation de Boost, exportation d'une fonction, exportation d'une classe.
  • Approfondir l'intégration de C++ dans Python avec Boost : fonctions virtuelles, héritage et surcharge, comptage de références, manipulation d'objets, itérateurs, exceptions.
Python et SWIG
  • Apprendre à intégrer du C++ dans Python avec SWIG : présentation de SWIG, exportation d'une fonction, exportation d'une classe ou d'une structure C.
  • Approfondir l'intégration de C++ dans Python avec SWIG : traitement des exceptions, fonctions virtuelles, héritage et surcharge, comptage de références, typemaps, préprocesseur SWIG.
Conclusion
  • Intégrer C ou C++ dans Python : quels méthodes et outils choisir ?, quand utiliser C, C++ ou Python ?, quand utiliser Boost ou SWIG ?
Adaptations possibles
Cette formation peut être adaptée afin de répondre au mieux à vos besoins. En particulier, certains points du cours sont facultatifs et ne seront abordés que si les auditeurs manifestent un intérêt et le temps le permet. D'autre part, Logilab dispose aujourd'hui d'une palette très large de modules pédagogiques permettant la personnalisation de ses formations.
L'adaptation des cours en intra-entreprise ne pose aucun problème ; cette opération est cependant plus difficile pour les cours en inter-entreprises. N'hésitez pas à demander conseil à notre service commercial.
Conditions
Des sessions en inter-entreprises sont organisées régulièrement dans nos locaux à Paris. Il est possible d'organiser, à votre demande, une ou plusieurs sessions en intra-entreprise (sur site) n'importe où en France ou en Europe.
Chaque participant à la formation dispose d'un exemplaire personnel du support de cours et du manuel d'exercices.
Durée : 4 jours, soit 28 heures.
Langue : au choix, française ou anglaise
Intervenant : Tous les intervenants animant cette formation bénéficient de compétences pédagogiques reconnues. D'autre part, ils participent activement au développement du langage Python ainsi que de sa bibliothèque standard, et sont intervenus dans des projets d'informatique scientifique et financière mêlant des codes en Python, C++, C et Fortran.
Travaux pratiques : Cette formation accorde une place prépondérante aux travaux pratiques qui permettent, tout au long du cours, de mettre en œuvre et assimiler les concepts théoriques.
Inter-entreprises :
  • groupes de 4 personnes minimum et 8 personnes maximum
  • mardi-vendredi 9h-12h15, 13h30-17h00
  • Paris
  • déjeuner inclus
Intra-entreprise :
  • groupes de 10 personnes maximum
  • 4 journées