Comments on: Quelques erreurs tordues et leurs solutions en Python http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Jérôme Plumecoq http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-40703 Mon, 02 Jun 2014 14:43:11 +0000 http://sametmax.com/?p=995#comment-40703 Bonjour,

il me semble que juste avant la ligne :

Si ça ne marche toujours pas, embauchez un mec comme moi qui est payé cher (…)

il faut lire encode et pas decode dans la phrase :

decode(‘UTF-8′) avant send(), write() ou print

Si j’ai bien compris la partie sur les encodages :-)

]]>
By: Sam http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-8282 Mon, 22 Apr 2013 06:17:20 +0000 http://sametmax.com/?p=995#comment-8282 On a aussi une tag line avec cette référence, mais elle apparait aléatoirement :-)

]]>
By: Sorcier_FXK http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-8271 Sun, 21 Apr 2013 23:19:39 +0000 http://sametmax.com/?p=995#comment-8271 >>> REGLES = (
… “Ne jamais parler du fight club”,
… “Ne jamais croiser les effluves”,
… “Ne jamais appuyer sur le petit bouton rouge” # <===== virgule oubliée !
… "Ne jamais goûter"
… )

hahaha, énorme, le clin d'oeil à Ghostbuster m'a beaucoup faire rire. J'ai encore la réplique en RAM. :D
Merci pour se pense-bête qui me dépanne au beau milieu de la nuit.

]]>
By: Sam http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-6362 Fri, 22 Feb 2013 21:35:44 +0000 http://sametmax.com/?p=995#comment-6362 Aucune idée. Peut être que les doctests n’importent pas les modules qui contiennent les doctests quand on utilise nosetests et py.test et que dans les doctests, il n’y a aucun import qui entraine un import circulaire.

]]>
By: kontre http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-6360 Fri, 22 Feb 2013 20:25:51 +0000 http://sametmax.com/?p=995#comment-6360 un petit WTF : j’ai fait un import circulaire dans un moment d’inattention, c’est mal. Mais le pire, c’est que les tests unitaires sont passés tranquilillou, il n’y a qu’en utilisant mes modules de manière normale que ça m’a pété à la gueule ! Comment ça se fait que ni nosetests ni py.test n’ait bloqué là-dessus ? Ils importent bien les fichiers pourtant !
Je précise que j’utilise exclusivement des doctests dans les docstring de mes classes et méthodes.

]]>
By: Etienne http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-5183 Wed, 16 Jan 2013 07:37:33 +0000 http://sametmax.com/?p=995#comment-5183 Le mieux est l’ennemi du bien.

]]>
By: Sam http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-5177 Tue, 15 Jan 2013 22:47:54 +0000 http://sametmax.com/?p=995#comment-5177 Ca a pas toujours été comme ça. A une époque c’était simple et pas chargé.

]]>
By: Etienne http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-5172 Tue, 15 Jan 2013 22:15:15 +0000 http://sametmax.com/?p=995#comment-5172 .. le lien vers le SDZ est cassé…

… C’est là que je vois qu’ils ont changé les meubles …
… jamais aimé l’organisation des tutos là-bas. Trop de sous-titre sur lesquels cliquer, trop de “page suivante”…

]]>
By: Etienne http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-5171 Tue, 15 Jan 2013 22:08:58 +0000 http://sametmax.com/?p=995#comment-5171 Et bien je me suis fait eu par un mutable en paramètre par défaut.

J’instancie un classe avec un dictionnaire, puis j’instancie avec un autre et, quoi, ??…: je retrouve le premier dict dans la seconde instance… Au début je me suis dit: “y’a un fantôme dans ma machine!!, c’est pas possible”.

J’ai bien soupçonné le mutable, mais rien n’y fit jusqu’à ce que je me rappelle ce post qui m’a finalement permis de débloquer la situation.

Une méthode prenait un dictionnaire vide comme argument par défaut:

def methode(self, machin, dico = {}):
    fait qqch avec le dico
    return dico

Je l’ai finalement remplacé par:

def methode(self, machin, dico):
    ...

… et je passe un dictionnaire vide lors de l’appel :

self.truc = self.methode(var_machin, {})

Merci!

PS:
En fouillant pour résoudre le problème, je me suis rendu compte que la méthode en question a toujours la même adresse mémoire (c’est vrais pour toutes les méthodes j’imagine), quelque soit l’instance (qui ont chaque fois une nouvelle adresse).

]]>
By: Sam http://sametmax.com/quelques-erreurs-tordues-et-leurs-solutions-en-python/#comment-1568 Sat, 25 Aug 2012 17:03:16 +0000 http://sametmax.com/?p=995#comment-1568 Le SDZ a aussi un article sur la question, fort sympathique:

http://www.siteduzero.com/forum-83-562507-p1-les-erreurs-courantes-en-python.html

]]>