Désolé pour un titre aussi peu explicite, mais je ne sais vraiment pas comment l'intituler.
Bref...
J'ai commencé à suivre un tuto (dont j'ai trouver le lien sur le forum) pour créer des GUI avec Tk. Le code que j'ai écrit (voir ci-dessous) me renvoie l'erreur suivante lors de son exécution:
Citation : Python
$ ./main.py
Traceback (most recent call last):
File "./main.py", line 6, in <module>
class simpleapp_tk(Tkinter.Tk):
File "./main.py", line 16, in simpleapp_tk
self.entry.grid(column=0,row=0,sticky='EW')
NameError: name 'self' is not defined
Je suis confus. Y a des parties que j'ai copié collé, elles était indentées avec des espaces, et moi j'indente avé des tabulations.
Ca me servira de leçon.
Cette histoire d'indentation c'est un truc qui m'avait découragé de m'intéresser à Python, au départ.
Et puis en fait, y a peu j'ai commencé à suivre le tuto du site, et finalement ça m'a beaucoup plus Python.
Bref, j'raconte ma life mais je suis bien content d'avoir franchi le pas et de m'intéresser à ce langage qu'à mon niveau ridicule et avec mes yeux d'amateur je trouve très séduisant et motivant.
D'ailleurs, puisqu'on en parlait j'en profite pour poser une question sur l'indentation... Que préconisez-vous, que préférerez-vous, qu'est-ce qui vaut le mieux? Espaces ou tabulations?
Edit:
la différence entre espace et tabulations apparrait dans les codes que j'ai posté. Mais dans mon éditeur c'était pas apparant, à moins de tester avec un retour arrière (ça reculait par espaces quand c'était indenté avec des espaces et par tabulations dans l'autre cas).
Démo sur la capture ci-dessous:
A gauche le code que j'ai tapé, à droite l'original proposé sur le site.
Grande question, la plupart des programmeurs à ma connaissance utilisent des espaces, et moi par habitude, j'en utilise aussi.
Mais récemment je suis tombé sur un article qui parlait de ça, et finalement j'ai l'impression que ça se vaut plus ou moins...
Le problème des tabulations dans un code posté sur le web c'est qu'elles font en gros 8 espaces de long et c'est fixe, la plupart des gens trouve ça énorme (en général on utilise plutôt des longueurs de 4 espaces). Dans un éditeur de code c'est pas gênant, on peut modifier la longueur des tabulations, mais dans une page web non.
Pour les indentations, l'ami Guido préconise 4 espaces (donc pas de tabulation) dans la PEP-8.
C'est à peu près le meilleur compromis lisibilité/portabilité à mon goût.
Pour d'autres langages comme C ou C++, j'aurais plutôt tendance à en utiliser/préconiser 2 (pas de tabulations non plus), mais puisqu'ici on parle de Python et qu'il y a une coding-style "standard" définie par la PEP-8, autant la suivre.
Il suffit de régler l'éditeur de texte que tu utilises pour coder pour qu'il gère ça proprement.
EDIT:
D'une manière générale, quand tu copies/colles un code, un petit remplacement systématique ('\t' -> ' ') ne fait pas de mal.
Je ne sais pas ce qu'il en est de Geany, mais dans la plupart des éditeurs tu peux aussi afficher des symboles qui te permettent de visualiser les retours à la ligne, les tabulations etc.
Je ne sais pas ce qu'il en est de Geany, mais dans la plupart des éditeurs tu peux aussi afficher des symboles qui te permettent de visualiser les retours à la ligne, les tabulations etc.
Ouep, Geany gère ça. Mais de toute façon comme je le disais plus haut, maintenant je vais faire gaffe. Avant je me posais pas la question (avant Pyhton), et l'indentation c'était juste pour la lisibilité... (et aussi paske y a une certaine esthétique, à mes yeux, dans un code bien indenté).
Sinon, je connaissais pas la PEP 8... (va falloir que je passe plus de temps sur python.org).
Par contre je comprends pas en quoi c'est génant les tabulations, mais bon, il y a certainement une très bonne raison j'imagine.
mdr, c'est juste que quand je suis arrivé sur la page, après avoir cliqué sur le lien dans le mail de notif, je tombe directement, grace à l'ancre, sur ton post.
Et là la 1ère chose qu'on vot c'est cette mine irascible...
Ca choque!
Mais c'est rien, c'est ma réaction à moi, une réaction primaire en l'occurence. D'autres réagiront différement.
Tu peux difficilement tenir compte de l'avis de tous de toutes façons... So...
Et puis c'est vrai qu'il est rigolo ton avatar.
Où est l'erreur?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Blond, bouclé, toujours le sourire aux lèvres...