Читать книгу El gran libro de Python - Marco Buttu - Страница 30

La función integrada print()

Оглавление

La forma general de la función integrada print() es la siguiente:


Si no se le pasa ningún objeto, imprime una línea en blanco:


En cambio, si se le pasa uno o más objetos obj_i, los imprime separándolos con la cadena sep, que por defecto es un espacio, y terminando la impresión con la cadena end, que por defecto es un salto de línea:


Básicamente, la función print() solo crea la cadena:


para después pasarla al método write() del objeto asignado al parámetro file. Por tanto, y puesto que por defecto tenemos file=sys.stdout, la siguiente print():


equivale a esta llamada al método sys.stdout.write():


Así, si como archivo no utilizamos la salida estándar sino un archivo físico:


el código equivalente a la print() es el siguiente:


El parámetro flush sirve para forzar el vaciado del buffer inmediatamente después de la impresión. Por defecto, tenemos flush=False, lo que significa que el contenido del buffer no se escribe inmediatamente en el archivo:


En cambio, si escribimos flush=True, el buffer se vacía en cada impresión:


Hablaremos del buffering en la sección Los archivos del Capítulo 3 y en el Apéndice C. Si quisiéramos efectuar un elevado número de impresiones en un archivo en lugar de en pantalla, sería genial poder evitar pasar cada vez el archivo a la print() como argumento. Podemos hacerlo cambiando temporalmente sys.stdout, dado que este se asigna por defecto al parámetro file:


El gran libro de Python

Подняться наверх