★ Bonnes pratiques de la programmation en Python

Tags associés : , , posté le 21 january 2006


Logo associé au billet intitulé Bonnes pratiques de la programmation en Python

Ça faisait longtemps que je voulais écrire un peu là-dessus et puis le temps tout ça... bref je viens de tomber sur deux billets qui m'ont motivé, apparemment je suis pas le seul à vouloir apprendre/faire partager sur Python. Coïncidence pas si pure que ça, la sortie du livre Programmation Python que j'attends depuis quelques semaines et que je compte acheter à Solutions Linux ou gagner :)

Je compte faire des billets de deux natures : les « bonnes pratiques » et l'optimisation, c'est ce que l'on trouve le moins facilement sur internet (ou alors j'ai mal cherché → commentaires) et c'est souvent assez crucial sur les gros projets.

Je préviens, je ne suis pas un pro et je vous invite à vérifier ce que j'écris par vous même, une astuce d'optimisation peut fonctionner dans une situation et pas dans une autre, tout dépend de votre problématique bien sûr.

Concernant l'optimisation, j'utilise le module profile qui est fait pour ça et qui est lancé 5 fois consécutives pour essayer de faire une moyenne assez satisfaisante.

Profile c'est pas vraiment ce qu'il y a de mieux pour faire des tests apparemment donc j'utilise maintenant timeit sur les judicieux conseils de David Allouche.

Le code est le suivant si vous souhaitez tester chez vous :

import timeit

def footime(s, n=1):
    t = timeit.Timer(s, 'import string_optim ; reload(string_optim); gc.enable()')
    time = t.timeit(n)
    print time

footime('string_optim.foo()', n=5)

Avec vos fonctions foo() dans le fichier string_optim.py pour ce cas précis.

Table des matières des billets à ce sujet

3 Commentaires

je vais suivre de très près tes prochains posts ; je suis aussi en train de me mettre au python :)

1 | szdavid, le 21 January 2006 à 20h

C'est marrant, j'allais suggérer que les billets de cette catégorie apparaissent sur Planet Python-fr, mais je vois que quelqu'un y avait déjà pensé.

Voilà encore une fois du très très bon boulot, bravo et merci.

2 | kNo', le 22 January 2006 à 14h

D'ailleurs kNo' si tu vois d'autres blogs qui pourraient apparaitre sur le planet n'hésite pas à me le signaler :)

3 | gml, le 22 January 2006 à 15h

Ajouter un commentaire


Billets contextuels

Bonnes pratiques et astuces Python

Logo associé au billet intitulé Bonnes pratiques et astuces Python

Ça faisait un moment que je n'avais pas parlé des bonnes pratiques Python mais l'approche de Pycon fr (où je présenterai Django : le pourquoi et le comment le 18 mai), l'événement Python incontournable avec un programme des ...

Benchmarks map, filter vs. list-comprehensions

Logo associé au billet intitulé Benchmarks map, filter vs. list-comprehensions

Je viens de tomber sur les snyppets de Seb Sauvage (site que j'apprécie beaucoup par ailleurs) et il y a une phrase qui m'a interpellé sur le paragraphe consacré à zip, map, filter et aux list-comprehensions : Except that ...

Python : lisibilité vs simplicité

Logo associé au billet intitulé Python : lisibilité vs simplicité

Le programmeur est fainéant. C'est ainsi. S'il ne l'était pas, il n'essayerait pas de s'aider d'un ordinateur. Du coup il évite dans la mesure du possible de s'encombrer de variables trop longues, ou ...


© 2004-2010 David Larlet - Licence (presque) libre - Site enfin propulsé par Django et hébergé par Typhon.