C'est très fortement déconseillé de mélanger tabulations et espaces, et interdit en python 3. Erreur de jeunesse réglée. Si tu veux régler le problème en python 2, règle ton éditeur pour qu'il t'affiche → pour une tabulation en début de ligne, et · pour un espace. Ou vérifie ton code avec Pylint ou autre, ce qui est d'ailleurs très bien dans le cas général. Mais c'est vraiment du chipotage pour une erreur qui n'arrivait que très peu souvent, qui ne passe quasiment jamais le parsing et qui est maintenant corrigée.
Pour revenir au sujet, un comportement implicite est un comportement prédéfini, sans que tu ne l'ai définit toi-même. C'est l'opposé de magique. Quand en php tu as 0=="0", c'est une conversion de type implicite. Quand en Caml tu écrit f x y, c'est certes différent de la syntaxe habituelle f(x, y), mais ce n'est pas implicite du tout, juste différent de ce que tu vois d'habitude. En python tu sais très bien où commence et où fini ton bloc, ce n'est pas implicite. Ton argument d'un éditeur qui n'affiche pas les tabulations est idiot ; c'est comme dire que les blocs sont implicites en C car un éditeur pourrait ne pas t'afficher les accolades. Bref Python a des défauts, mais là ce n'est qu'un point de détail, mais très visible, donc certains restent bêtement coincés dessus.
[^] # Re: Petite question ...
Posté par oao . En réponse au journal Deux nouvelles pour Qt. Évalué à 3.
C'est très fortement déconseillé de mélanger tabulations et espaces, et interdit en python 3. Erreur de jeunesse réglée. Si tu veux régler le problème en python 2, règle ton éditeur pour qu'il t'affiche → pour une tabulation en début de ligne, et · pour un espace. Ou vérifie ton code avec Pylint ou autre, ce qui est d'ailleurs très bien dans le cas général. Mais c'est vraiment du chipotage pour une erreur qui n'arrivait que très peu souvent, qui ne passe quasiment jamais le parsing et qui est maintenant corrigée.
Pour revenir au sujet, un comportement implicite est un comportement prédéfini, sans que tu ne l'ai définit toi-même. C'est l'opposé de magique. Quand en php tu as 0=="0", c'est une conversion de type implicite. Quand en Caml tu écrit
f x y, c'est certes différent de la syntaxe habituelle f(x, y), mais ce n'est pas implicite du tout, juste différent de ce que tu vois d'habitude. En python tu sais très bien où commence et où fini ton bloc, ce n'est pas implicite. Ton argument d'un éditeur qui n'affiche pas les tabulations est idiot ; c'est comme dire que les blocs sont implicites en C car un éditeur pourrait ne pas t'afficher les accolades. Bref Python a des défauts, mais là ce n'est qu'un point de détail, mais très visible, donc certains restent bêtement coincés dessus.