tutorial lenguaje español descargar python

lenguaje - python tutorial



¿Para qué se utiliza la palabra clave de python "con"? (2)

En python, la palabra clave with se usa cuando se trabaja con recursos no administrados (como flujos de archivos). Es similar a la declaración de using en VB.NET y C #. Le permite asegurarse de que un recurso se "limpie" cuando el código que lo utiliza termina de ejecutarse, incluso si se producen excepciones. Proporciona ''azúcar sintáctica'' para los bloques try/finally .

Desde Python Docs :

La instrucción with aclara el código que anteriormente usaría los bloques try...finally para garantizar que se ejecute el código de limpieza. En esta sección, discutiré la declaración como se usará comúnmente. En la siguiente sección, examinaré los detalles de la implementación y mostraré cómo escribir objetos para usar con esta declaración.

La instrucción with es una estructura de control-flujo cuya estructura básica es:

with expression [as variable]: with-block

La expresión se evalúa y debe dar como resultado un objeto que admita el protocolo de administración de contexto (es decir, tiene los __enter__() y __exit__() ).

Actualización de la llamada VB fija por el comentario de Scott Wisniewski. Estaba confundiendo con el using .

Esta pregunta ya tiene una respuesta aquí:

¿Para qué se usa la palabra clave de python "con"?

Ejemplo de: http://docs.python.org/tutorial/inputoutput.html

>>> with open(''/tmp/workfile'', ''r'') as f: ... read_data = f.read() >>> f.closed True


Explicación del blog Preshing on Programming :

Es útil cuando tiene dos operaciones relacionadas que le gustaría ejecutar como un par, con un bloque de código en medio. El ejemplo clásico es abrir un archivo, manipularlo y luego cerrarlo:

with open(''output.txt'', ''w'') as f: f.write(''Hi there!'')

Lo anterior con una declaración cerrará automáticamente el archivo después del bloque de código anidado. (Continúe leyendo para ver exactamente cómo se produce el cierre). La ventaja de usar una instrucción with es que se garantiza que se cierre el archivo sin importar cómo salga el bloque anidado. Si se produce una excepción antes del final del bloque, cerrará el archivo antes de que la excepción sea detectada por un controlador de excepciones externo. Si el bloque anidado tuviera que contener una declaración de retorno, o una instrucción de continuar o romper, la instrucción with también cerraría automáticamente el archivo en esos casos.