|
Original |
Translation |
|
1
|
|
|
|
2
|
Why does Python use indentation for grouping of statements?
|
Pourquoi Python utilise l'indentation pour grouper les instructions ?
|
|
3
|
|
4
|
Since there are no begin/end brackets there cannot be a disagreement between grouping perceived by the parser and the human reader. Occasionally C programmers will encounter a fragment of code like this::
|
Comme il n'y a pas d'accolades de début/fin, il ne peut y avoir de différence entre le bloc perçu par l'analyseur syntaxique et le lecteur humain. Parfois les programmeurs C pourront trouver un morceau de code comme celui-ci::
|
|
5
|
if (x <= y) x++; y--; z++;
|
if (x <= y) x++; y--; z++;
|
|
6
|
Only the ``x++`` statement is executed if the condition is true, but the indentation leads you to believe otherwise. Even experienced C programmers will sometimes stare at it a long time wondering why ``y`` is being decremented even for ``x > y``.
|
Seule l'instruction ``x++`` sera exécutée si la condition est vraie, mais l'indentation pourrait vous faire penser le contraire. Mêmes des développeurs C expérimentés resteront pendant un moment à se demander pourquoi ``y`` est décrémenté même si ``x > y``.
|
|
7
|
Because there are no begin/end brackets, Python is much less prone to coding-style conflicts. In C there are many different ways to place the braces. If you're used to reading and writing code that uses one style, you will feel at least slightly uneasy when reading (or being required to write) another style.
|
Comme il n'y a pas d'accolades de début/fin, Python est moins sujet aux conflits de style de code. En C, on peut placer les accolades de nombreuses façons. Si vous êtes habitués à lire et écrire selon un style particulier, vous pourriez vous sentir perturbé en lisant (ou en devant écrire) avec un autre style.
|
|
8
|
Many coding styles place begin/end brackets on a line by themself. This makes programs considerably longer and wastes valuable screen space, making it harder to get a good overview of a program. Ideally, a function should fit on one screen (say, 20-30 lines). 20 lines of Python can do a lot more work than 20 lines of C. This is not solely due to the lack of begin/end brackets -- the lack of declarations and the high-level data types are also responsible -- but the indentation-based syntax certainly helps.
|
Nombre de styles de programmation placent les accolades de début/fin sur une ligne à part. Cela rend les sources beaucoup plus longues et fait perdre une bonne partie de l'espace visible sur l'écran, rendant plus compliqué un aperçu global du programme. Idéalement, une fonction doit être visible sur un même écran (environ 20 ou 30 lignes). 20 lignes de Python peuvent faire beaucoup plus que 20 lignes de C. Ce n'est pas seulement dû à l'absence d'accolades de début/fin -- l'absence de déclarations et les types de haut-niveau en sont également responsables -- mais la syntaxe basée sur l'indentation y est pour beaucoup.
|
|
9
|
Why am I getting strange results with simple arithmetic operations?
|
Pourquoi ai-je d'étranges résultats suite à de simples opérations arithmétiques ?
|
|
10
|
|
Voir la question suivante.
|