92 votes

Variable définie avec with-statement disponible en dehors de with-block ?

Prenons l’exemple suivant :

J’ai lu les documents de langue (2.7) pour with-statement ainsi que PEP-343, mais autant que je peux dire, ils ne disent rien à ce sujet.

Dans CPython 2.6.5 `` semble être défini en dehors du with-block, mais je préfère ne pas compter sur un détail d’implémentation qui pourrait changer.

163voto

fuzzyman Points 3945

Oui, le gestionnaire de contexte sera disponible en dehors de l’instruction with et qui ne dépend pas de l’implémentation ou de la version. les instructions with ne créent pas de nouvelle étendue d’exécution.

28voto

IfLoop Points 59461

la `` syntaxe :

est approximativement du sucre pour :

C’est souvent utile. par exemple

le gestionnaire de contexte peut être utile plusieurs fois.

11voto

Alex Gaynor Points 6217

Pour répondre à la question de Heikki dans les commentaires: oui, ce comportement de portée fait partie de la spécification du langage python et fonctionnera sur tous les Pythons conformes (qui incluent PyPy, Jython et IronPython).

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