bonjour J.F,

merci bien pour cet explication, peux-tu la compléter par des exemples,
si on considère l'indentation par tab, comme Yannick a fait?



--------------------------------------------------
From: "Jean-François Colas" <jfco...@inja.fr>
Sent: Saturday, April 28, 2012 2:23 PM
To: <progliste@ml.free.fr>
Subject: [progliste] Python et indentation

> Salut,
>
> Avec Python il y a indentation quand il y a bloc d'instructions. Et en
> principe, souvent, voire toujours, la ligne qui "déclenche" entre
> guillemets l'indentation se termine par deux-points (sauf si vous
> remettez la main sur des contre-exemples).
>
> Par exemple, après un for ou un while, toutes les lignes qui seront
> indentées seront exécutées dans cette boucle, jusqu'à la première ligne
> qui reprendra l'indentation précédente, à savoir celle du for. Pareil
> pour if-else, les lignes qui suivent if sont indentées, et toutes les
> lignes de même indentation sont exécutées si la condition est vraie;
> puis le else: correspondant aura la même indentation que le if, et les
> lignes indentées qui suivent sont exécutées si la condition est fausse.
>
> Tous les blocs peuvent avoir des indentations très différentes. Par
> exemple, je peux très bien mettre trois espaces pour les lignes sous le
> if, et neuf sous la ligne else. Le bloc est constitué de lignes
> consécutives ayant la même indentation, et la première ligne après le
> bloc doit avoir la même indentation qu'une des lignes au-dessus, pourvu
> qu'elle soit inférieure ou égale à celle du bloc qui vient de se terminer.
>
> Une fonction est aussi un bloc introduite par une ligne def
> quelquechose. une classe aussi est un bloc, comme on le voit avec
> l'exemple de Yannick.
>
> La tabulation (si elle n'est pas transformée en espaces) compte pour un
> seul caractère, c'est indépendant de la façon dont l'éditeur la traite.
> Il faut donc bien connaître son éditeur pour savoir s'il la fait
> s'afficher comme étant 3, 4, 8, ou le nombre qu'on veut d'espaces, sans
> la transformer; dans ce cas, un backspace enlève directement tout le
> retrait. Ou bien s'il transforme effectivement une tab en espaces
> (c'est-à-dire, si je frappe tab l'éditeur insère par exemple quatre
> espaces), et si je fais une fois backspace, je n'en enlève qu'un sur ces
> quatre).
>
>
> J.-F.
>
> Le 27/04/2012 17:35, Maan ALOUN écrit :
>>
>> quelqu'un peut m'expliquer les règles de l'indentation et la structure de
>> code de python?
>> j'ai demandé Google, il y a beaucoup de question au tour de problème de 
>> code
>> à cause de cet indentation!
>>
>>
>> --------------------------------------------------
>> From: "QuentinC"<quent...@cfardel.net>
>> Sent: Friday, April 27, 2012 5:13 PM
>> To:<progliste@ml.free.fr>
>> Subject: [progliste] Re: niveau d'acc essibilité      lang age  progr amm
>> ation
>>
>>> Créer son propre langage était bien sûr une idée utopique. Évidemment je
>>> ne suis quand même pas assez fou pour m'y risquer, et il me manque
>>> certaines connaissances pour le faire de toute façon. Cela dit, ce
>>> serait assurément passionnant. Probablement pas très utile, mais
>>> passionnant.
>>>
>>>
>>> Plus sérieusement, et plus concrètement, je pense qu'on aurait tous un
>>> intérêt à se mettre vraiment à python. Il adresse toutes sortes de
>>> compromis: modèle objet assez développé, modèle fonctionnel aussi assez
>>> développé, syntaxe simple si on laisse de côté l'indentation, nombreuses
>>> bibliothèques et bindings pour plein de choses dans beaucoup de
>>> domaines, portabilité car basé sur une VM mais bien moins lourde que
>>> java...
>>> Tiens à ce propos, quelqu'un a déjà essayé pypy et l'a déjà comparé à
>>> CPython ? Il s'agit d'une VM alternative, pour ceux qui ne seraient pas
>>> au courant.
>>>
>>> Pur basic, c'est très bien, pourquoi pas... mais outre que c'est payant,
>>> l'avantage qu'on a à se mettre à python c'est que c'est réellement
>>> utilisé dans l'industrie et la recherche. Donc c'est non seulement
>>> intéressant, mais en même temps réellement utile. Vu que personne
>>> n'utilise pur basic à part trois glandus convaincus, ça fait un gros
>>> argument en moins. Bonjour, je développe en pur basic. Qu'est-ce que
>>> c'est comme religion ? Bon, et puis, ça implique quand même d'utiliser
>>> un IDE potentiellement usine à gaz.
>>>
>>>
>>> L'IDE tout trouvé que j'aimerais bien amener, c'est évidemment 6pad ! Si
>>> on se met ensemble pour faire un script qui convertit les indentations
>>> en accolades et vice-versa et de manière totalement transparente, il y a
>>> moyen de faire quelque chose de bien. Ou bien sûr si vous avez une
>>> meilleure idée, n'hésitez pas à proposer.
>>>
>>> Je propose 6pad pas seulement parce que c'est mon propre programme, mais
>>> parce que se customiser un script à l'adresse d'un seul lecteur d'écran
>>> ou l'autre n'est vraiment pas la bonne approche. Vous savez autant que
>>> moi comment les scripts jaws sont buggés et comment ils ne sont vraiment
>>> pas pratiques à développer. Vous savez aussi autant que moi que NVDA
>>> utilise justement le langage qu'on cherche à  appréhender pour scripter,
>>> donc c'est le serpent qui se mord la queue. ET si un autre
>>> extraterrestre débarque sur cette liste et affirme utiliser Window eye
>>> ou Supernova, que va-t-on lui dire ? ET si jaws ne fonctionnait plus
>>> avec windows 8 ? Donc, c'est vraiment pas la bonne stratégie.
>>>
>>>
>>>
>>> Progliste :
>>> Pour se désinscrire de la liste :
>>> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
>>>
>>> Pour voir les archives de la liste :
>>> http://www.mail-archive.com/progliste@ml.free.fr/
>>>
>>> Pour accéder aux fichiers de la liste
>>> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
>>> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé,
>>> je vous répondrez en privé.
>>
>>
>> Progliste :
>> Pour se désinscrire de la liste : 
>> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
>>
>> Pour voir les archives de la liste :
>> http://www.mail-archive.com/progliste@ml.free.fr/
>>
>> Pour accéder aux fichiers de la liste
>> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
>> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, 
>> je vous répondrez en privé.
>
> Progliste :
> Pour se désinscrire de la liste : 
> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/progliste@ml.free.fr/
>
> Pour accéder aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, 
> je vous répondrez en privé. 


Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.

Répondre à