Uso de impresión en Python3

Tabla de contenido

Uno: sintaxis de impresión

Dos: uso final del parámetro final de impresión

Tres: uso sep del parámetro del separador de impresión

Cuatro: imprimir salida de caracteres de ancho fijo


Uno: sintaxis de impresión

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

Explicación del parámetro:         

"objetos": el objeto que se va a imprimir, que se imprimirá en el flujo de texto especificado por el "parámetro de archivo", y la mayoría de los usos solo usan este parámetro;

 "sep": separado por "sep";

"end": termina con el parámetro "end" después de la impresión;

"archivo": imprimirá la salida en un archivo, el archivo debe ser un objeto con un método de escritura (cadena); si el argumento no existe o es Ninguno, se utilizará sys.stdout. print() no se puede utilizar con objetos de archivo en modo binario, ya que el argumento que se va a imprimir se convierte en una cadena de texto. Para estos objetos, se debe utilizar file.write(...) en su lugar. El hecho de que la salida se almacene en caché generalmente depende del archivo;

"flush": si el argumento de la palabra clave de descarga es Verdadero, el flujo de salida se vaciará a la fuerza.

        "sep", "end", "file" y "flush" deben proporcionarse como argumentos de palabras clave. El parámetro de palabra clave Flush se agregó después de la versión 3.3 de Phthon.

>>> print("my name is ftz ",sep=' ',end='end结尾\n')
my name is ftz end结尾
>>>
>>> logFile = open("logfile.txt",'w')
>>> print("my name is ftz ",sep=' ',end='end结尾\n',file=logFile)

Ejecutado tres veces, el valor predeterminado es agregar 

[root]$ cat logfile.txt
my name is ftz end结尾
my name is ftz end结尾
my name is ftz end结尾

Dos: uso final del parámetro final de impresión

La impresión es de nueva línea de forma predeterminada, eso se debe a que el parámetro final es '\n' de forma predeterminada, si desea agregar un símbolo personalizado al final de cada impresión, puede usar el parámetro final, por ejemplo: el "fin "El parámetro de la función print() especifica que es "|", es decir, después de que se completa cada salida de la función print(), se genera "|" al final.

>>> print("默认换行")
默认换行
>>> print("不换行打印",end="")
不换行打印>>>
>>> print("以竖线结尾打印",end="|\n")
以竖线结尾打印|
>>>

Tres: uso sep del parámetro del separador de impresión

El parámetro sep generalmente no se usa mucho, pero aún puede resultar útil en escenarios especiales. Por ejemplo, las URL están separadas por '.', las rutas de acceso están separadas por '/' o las direcciones IP están separadas por caracteres específicos. usar

>>> print('192','168','1','1',sep='.')
192.168.1.1
>>>
>>> print('www','baidu','com',sep='.')
www.baidu.com
>>>
>>> print("F:",'file','work',sep='/')
F:/file/work
>>>

Cuatro: imprimir salida de caracteres de ancho fijo

        Cuando queremos generar una serie de resultados, pero los caracteres del medio no son fijos, si es una salida normal, habrá confusión y no se verá bien. print nos permite generar con un ancho de carácter fijo y de izquierda a derecha. alineación

Por ejemplo, el siguiente resultado

学生总数=22              学生名字重复数=29   
学生总数=54              学生名字重复数=58   
学生总数=455             学生名字重复数=287  
学生总数=455             学生名字重复数=287  
学生总数=2884            学生名字重复数=1579 
学生总数=427             学生名字重复数=207  
学生总数=1011            学生名字重复数=67   
学生总数=427             学生名字重复数=208  
学生总数=427             学生名字重复数=103  
学生总数=2276            学生名字重复数=417  
学生总数=0               学生名字重复数=0    
学生总数=52              学生名字重复数=0    
学生总数=52              学生名字重复数=0    
学生总数=1522            学生名字重复数=1303 
学生总数=0               学生名字重复数=0    
学生总数=1558            学生名字重复数=1143 
学生总数=454             学生名字重复数=286  
学生总数=4               学生名字重复数=0    
学生总数=11              学生名字重复数=12   

Primero introduzcamos el ancho del carácter, que se refiere al ancho ocupado por cada carácter en la salida. De forma predeterminada, cada carácter tiene el mismo ancho. Pero en algunos casos, queremos que los caracteres del resultado tengan diferentes anchos para lograr un mejor efecto visual. Por ejemplo, es posible que queramos generar una tabla con columnas de igual ancho para alinear los datos.

 El código de alineación de ejemplo es el siguiente:

print(f"学生总数={student:<15} 学生名字重复数={count:<20}")

Hemos utilizado el símbolo "<" para especificar la alineación a la izquierda. Si desea alinear a la derecha, puede utilizar el símbolo ">".

También podemos usar el método anterior para generar el formulario de tabla.

data = [
    ["Alice", 25, "Female"],
    ["Bob", 30, "Male"],
    ["Charlie", 35, "Male"]
]

# 计算每列的最大宽度
max_widths = [max(len(str(row[i])) for row in data) for i in range(len(data[0]))]

# 输出表头
header = ["Name", "Age", "Gender"]
header_format = " | ".join(f"{
   
   {:<{width}s}}" for width in max_widths)
print(header_format.format(*header))
print("-" * sum(max_widths))

# 输出数据
for row in data:
    row_format = " | ".join(f"{
   
   {:<{width}}}" for width in max_widths)
    print(row_format.format(*row))

Resultado de salida:

La impresión f se introdujo en Python 3.6. En versiones anteriores, también se admite la salida de caracteres de ancho fijo y el ancho de carácter especificado se genera mediante el método de formato de cadena. Los métodos de formato de cadena se implementan mediante el uso de marcadores de posición en la cadena. Los marcadores de posición comúnmente utilizados son "%s" y "%d", que se utilizan para formatear cadenas y números enteros respectivamente.

data = [
    ["Alice", 25],
    ["Bob", 30],
    ["Charlie", 35]
]


# 输出数据
for row in data:
    print("Name: %-10s Age: %d" % (row[0], row[1]))

formato Carácter de formato hexadecimal

carácter de formato expresar
{:s} cadena
{:d} entero decimal
{:F} punto flotante
{:C} tipo de caracter
{:u} entero decimal sin signo
{:o} octal
{:X} hexadecimal
{:mi} Notación cientifica

 Los siguientes son caracteres de formato comunes para formato

carácter de formato expresar
{:.2f} dos decimales
{:+.2f} Mantenga dos decimales y lleve un cartel.
{:0>2d} Relleno de ceros a la izquierda, ocupando dos caracteres en total
{:0<2d} Relleno cero a la derecha, ocupando dos caracteres en total
{:*<4d} Se agrega un asterisco a la derecha y el total ocupa 4 caracteres.
{:5d} Alineado a la derecha, ocupando 5 caracteres en total
{:<5d} Alineado a la izquierda, 5 caracteres en total
{:^5d} Alineado al centro, ocupando 5 caracteres en total
{:.2e} notación científica con dos decimales
{:,} números separados por comas

 

Supongo que te gusta

Origin blog.csdn.net/qq_27071221/article/details/132380575
Recomendado
Clasificación