Re: exercice python

トップ ページ

このメッセージに返信
著者: Frédéric
日付:  
To: guilde
題目: Re: exercice python
On Mercredi 09 Février 2005 22:45, jeanluc wrote:

> Je n'ai pas encore rendu aux boucles dans ma doc, alors
> j'ai sauté jusqu'à "try" qui semble etre un mot clef.
> D'après ce que j'ai compris, on sort du bloc try, non pas
> parce que "line = fileIn.next()" est évalué à faux, mais parce
> que ca provoque une exception.


Tout à fait.

> D'ailleurs, est-ce correct de dire "c'est évalué".


Non, pas vraiment. Evaluer c'est plutôt a == b.

> Dans ipython, a=3 ne donne rien en sortie, donc, je suppose
> que "a=3" n'est pas évalué à 3 comme je pourrais penser.


Tout à fait. Tu ne fais que faire pointer ton identifiant 'a' vers l'objet
3.

> Encore, sur ce truc "d'évaluer" :
> fileIn = open("in.txt", "r") est-il évalué à quelque chose ?


Non, c'est une affectation.

> Si non, ca pourrait expliquer pourquoi
> fileIn = open("in.txt", "r") or print "existe pas" # ne marche pas
> comment code-t-on en python ? :
> fileIn = open("in.txt", "r") or die "in.txt existe pas"


Exact.

> Sinon, j'ai essayé sans "StopIteration". Effectivement, c'est un label
> qui sert juste de commentaire. juste ?


Oh, non ! StopIteration est le nom d'une exception. Elle est levée lorsque
l'appel à 'fileIn.next()' a atteint la fin du fichier.

En fait, tu peux intercepter plusieurs exceptions, avec plusieurs except à
la suite, chacun se spécialisant sur un problème. Et si tu ne mets rien
derrière le except, tu chopes toutes les exceptions. Ce except seul est à
mettre en dernier, pour traiter les cas intraitables (mais dans ce cas, on
laisse plutôt remonter l'exception au niveau supérieur, qui sait peut-être
la traiter).

A noter également que les exceptions étant des classes, elles ont une
hiérarchie (héritage). Si tu captures une exception de type A, tu vas en
fait capturer toutes les exceptions qui dérivent de A. Ca aussi, c'est
hyper pratique.

Voila. J'espère t'avoir un peu éclairé.

Mais on sort un peu du cadre de la Guilde, là. Pour ceux qui veulent
plonger dans Python, je vous conseille de vous inscrire à la liste
python@???. C'est mieux pour en causer.

Sinon, Jean-Luc, n'hésites pas à me contacter en privé si besoin.

PS : Si python intéresse du monde, on peut peut-être faire une autre conf,
pour aller un peu plus loin dans le langage, côté objet.

--
Frédéric

http://www.gbiloba.org