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é.