343 votes

Onglets rapport à des espaces de programmation Python

J'ai toujours utilisé des tabulations pour l'indentation quand je fais de programmation Python. Mais je suis tombée sur une question ici ALORS, où quelqu'un a fait remarquer que la plupart des programmeurs Python utilisation des espaces à la place des onglets afin de minimiser l'éditeur-à-éditeur erreurs.

Comment cela fait-il une différence? Existe-il d'autres raisons pour utiliser des espaces à la place des onglets pour Python? Ou est-il tout simplement pas vrai?

Devrais-je passer mon éditeur pour insérer des espaces à la place des onglets à droite ou à garder sur la va comme je le faisais?

459voto

yota Points 2091

Fatigué de courir après indentation de fautes ( 8 espaces ? non, 7 oups 9 ... ), j'ai changé mes sources "onglets".

1 onglet == 1 niveau de retrait, l'arrêt complet

Le point est: si vous voulez afficher l'indentation de 4, 8 ou pi / 12 largeur de caractère, il suffit de changer les paramètres de votre éditeur de texte, ne salissez pas avec le code :p

(personnellement, j'utilise 4 char largeur de l'onglet... mais certains préfèrent 3 ou 8 espace, ou même utiliser les polices à largeur variable !!)

308voto

Alexander Kojevnikov Points 9389

Parce que la PEP-8 nous dit d'utiliser des espaces :)

205voto

pillmuncher Points 4726

Ainsi parla le Seigneur: Tu tiret avec quatre espaces. Pas plus, pas moins. Quatre est le nombre de places tu tiret, et le nombre de ton indentation est de quatre. Huit tu feras pas de tiret, ni soit tiret tu deux, sauf que tu procéder ensuite à quatre. Les onglets sont à droite. -- Georg Brandl

87voto

EmTee Points 319

UTILISEZ UN ÉDITEUR de texte QUI AFFICHE les CARACTÈRES de TABULATION (tous les espaces, d'ailleurs). Vous êtes à la programmation, et non pas la rédaction d'un article.

J'ai utiliser les onglets. Il n'y a pas de place pour une erreur d'espace dans les onglets (si vous pouvez les voir). Le problème EST que les gens utilisent différents éditeurs, et la seule chose commune dans le monde est: onglet==tiret, comme ci-dessus. Un type entre dans l'onglet jeu de clés pour le mauvais nombre de places ou fait à la main et fait un gâchis. Onglets et utiliser un vrai éditeur. (Ce n'est pas seulement contraire à la PEP, c'est le C/C++ et d'autres espaces-agnostique langues).

étapes vers le bas à partir de la boîte à savon

62voto

ctcherry Points 15112

La plupart des "pythonic" façon est d'utiliser 4 espaces par niveau d'indentation. L'interpréteur Python sera toutefois reconnaître des espaces ou des tabulations. La seule gottcha est que vous ne devez jamais mélanger les espaces et tabulations, choisir l'un ou l'autre. Cela dit, la spécification recommande espaces, la plupart des développeurs utilisent des espaces, donc, sauf si vous avez une très bonne raison de ne pas, je dirais aller avec des espaces.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X