title:      ★ Cours pour apprendre Python
slug:       cours-pour-apprendre-python
date:       2005-02-18 20:03:38
type:       post
vignette:   images/logos/biopython.png
contextual_title1:  Un projet Python : de l&#39;idée à la publication
contextual_url1:    20101203-un-projet-python-de-lidee-la-publication
contextual_title2:  ★ De l&#39;OpenData au LinkedData : exemple de nosdonnees.fr
contextual_url2:    20101130-de-lopendata-au-linkeddata-exemple-de-nosdonneesfr
contextual_title3:  Bilan personnel sur djangocong
contextual_url3:    20100427-bilan-personnel-sur-djangocong

<p>Je vais bientôt être en stage et celui-ci va consister à réécrire un programme qui est en C++ en C puis à l'interfacer avec Python pour enfin proposer ce service sur Internet (simplicité quand tu nous tiens...). Tout ça pour dire qu'il faut que je me mette à Python car le reste c'est normalement de l'acquis (hum).</p>

<p>J'ai donc suivi deux tutoriels&nbsp;:</p>
<ul>
<li>Dans un premier temps celui d'un de mes professeurs, Patrick Fuchs, qui propose un <a href="http://www.dsimb.inserm.fr/~fuchs/python">cours en ligne</a> vraiment bien fait (en plus il est appliqué à la bio-informatique :) ). Par contre, c'est juste les bases (40 pages) mais ça motive pour passer à quelquechose de plus consistant&nbsp;!</li>
<li>Je suis donc ensuite passé à un <a href="http://www.ulg.ac.be/cifen/inforef/swi/python.htm">cours de programmation en python</a> très bien fait et assez volumineux (292 pages). Il a tout de suite une approche «&nbsp;interface » qui m'a plu parce que j'avais peur de devoir relire les bases que je venais d'acquérir.</li>
</ul>

<p>Conclusion après lecture&nbsp;: Python est vraiment un langage <strong>simple</strong>&nbsp;! Et du coup la phase de recherche de bugs s'en trouve d'autant diminuée, on se pose vraiment des questions sur l'algorithme et pas sur le «&nbsp;où est-ce que j'ai bien pu oublier le&nbsp;; ou le }&nbsp;? » et c'est vraiment appréciable :). Pour quelqu'un qui n'a jamais fait de programmation c'est vraiment le langage idéal pour apprendre.</p>


<p>Pour finir, l'<a href="http://www.afpy.org/"><abbr title="Association Francophone PYthon">AFPY</abbr></a> vient de voir le jour, souhaitons-leur bonne chance&nbsp;! (au passage si quelqu'un peut m'expliquer pourquoi le canard en logo ?!)</p>


<p>Bon et puisque je n'arrive pas à résister, voila mon «&nbsp;Hello Wold » (lien mort) en Python, c'est un script qui permet à partir d'une protéine au format FASTA d'en prélever une partie en conservant le format FASTA, pratique lorsque l'on veut faire des alignements locaux de séquences protéiques. L'interface n'est pas encore très soignée mais le résultat est bon ;). Vous pouvez par exemple essayer avec la protéine p73 au format FASTA. Toute proposition d'amélioration/report de bug est le bienvenu.</p>


<p><strong>[edit du 23/03/05]</strong>&nbsp;: J'ai oublié de parler de l'inévitable <a href="http://diveintopython.org/">Dive into Python</a> traduit en français en <a href="http://diveintopython.adrahon.org/">Plongez au coeur de Python</a> et disponible au téléchargement&nbsp;!</p>


<p><strong>[edit du 05/12/05]</strong>&nbsp;: J'en rajoute quelques uns en anglais, vous êtes nombreux à arriver sur cette page ;)</p>

<ul>
<li><a href="http://www.pasteur.fr/recherche/unites/sis/formation/python/">Python course in Bioinformatics</a>&nbsp;: un must, vraiment complet&nbsp;!</li>
<li><a href="http://www.byteofpython.info/">A Byte of Python</a>&nbsp;: une référence.</li>
<li><a href="http://rgruet.free.fr/">Python Quick Reference</a>&nbsp;: à avoir absolument sous la main dès qu'on a un doute sur une fonction, il y a tout.</li>
</ul>

<p><strong>[edit du 12/08/06]</strong>&nbsp;: Encore quelques uns ;-)</p>


<p>Pour les pressés&nbsp;:</p>
<ul>
<li><a href="http://www.limsi.fr/Individu/pointal/python/pqrc/">Carte de référence Python</a>&nbsp;: ne pas oublier de consulter la <a href="http://www.limsi.fr/Individu/pointal/python.html">page de liens de ce site</a> qui est énorme&nbsp;!</li>
<li><a href="http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html">Une autre</a>&nbsp;: un peu moins classe et en anglais.</li>
<li><a href="http://www.poromenos.org/tutorials/python">Apprendre Python en 10 minutes</a>&nbsp;: en anglais mais récent.</li>
</ul>

<p>Et enfin <a href="http://gnosis.cx/publish/tech_index_cp.html">quelques articles que je n'ai pas encore lu</a> qui ont été publiés sur le site d'IBM  sous un regroupement joliment intitulé Charming Python (donc la qualité doit être au rendez-vous).</p>


<p><strong>[edit du 22/08/06]</strong>&nbsp;: Pour finir, <a href="http://www.awaretek.com/tutorials.html">plus de 300 tutoriels classés</a>. Je pense pas pouvoir faire mieux ;-).</p>


<p><strong>[edit du 05/09/07]</strong>&nbsp;: <a href="http://www.greenteapress.com/thinkpython/">How to Think Like a (Python) Programmer</a> (en anglais) semble être prometteur et libre, probablement plus à jour que les autres tutoriels que l'on peut trouver aujourd'hui sur le net.</p>

<p><strong>[edit du 26/10/09]</strong>&nbsp;: <a href="http://www.swaroopch.com/notes/Python_fr:Table_des_Matières">A Byte of Python traduit en français</a> si vous voulez débuter en partant de la base, je vous conseille ce tutoriel très didactique.</p>
