¡Le ruego que depure su código Python y deje de usar Print!

Haga clic en " Rastreador de Python y minería de datos " arriba para seguir

Responda a " Libros " para recibir un total de 10 libros electrónicos de Python, desde principiantes hasta avanzados

ahora

día

Pollos

sopa

Cang Cang Zhulin Temple, las campanas llegan tarde.

Creo que la mayoría de las personas que aprenden Python definitivamente usarán la función incorporada print () para depurar el código.

Luego, en un proyecto grande, si también usa print para depurar su código Python, encontrará que su terminal tiene múltiples salidas.

Luego, debe distinguir qué código es el resultado de la salida de cada línea.

Por ejemplo, ejecute el siguiente programa.

num1 = 30
num2 = 40 

print(num1)
print(num2)

Muestra el resultado.

30
40

¿Cuál de estas salidas es num1? ¿Cuál es num2 de nuevo?

Puede que no sea difícil encontrar dos salidas, pero ¿qué pasa si hay más de cinco salidas diferentes? Intentar encontrar código relacionado con la salida puede llevar mucho tiempo.

Por supuesto, puede agregar texto a la declaración impresa para que sea más fácil de entender:

num1 = 30
num2 = 40 

print("num1" num1)
print("num2" num1)

Muestra el resultado.

num1 30
num2 40

Este resultado es fácil de entender, pero se necesita tiempo para escribir información relevante.

Es hora de que suene "Icecream" ~

01. ¿Qué es el helado?

Icecream es una biblioteca de terceros de Python que puede hacer que la impresión y la depuración sean cada vez más claras con un mínimo de código.

Utilice pip para instalar la biblioteca Icecream.

pip install icecream

A continuación, probémoslo imprimiendo la salida de la función Python.

from icecream import ic 

def plus_five(num):
    return num + 5

ic(plus_five(4))
ic(plus_five(5))

El resultado de salida es el siguiente.

ic| plus_five(4): 9
ic| plus_five(5): 10

Al usar helado, no solo podemos ver la salida de la función, ¡sino también la función y sus parámetros!

02. Verifique la implementación

Si desea saber dónde ejecutar el código, puede averiguar qué declaración se ejecutó realizando las operaciones que se muestran a continuación.

def hello(user:bool):
    if user:
        print("I'm user")
    else:
        print("I'm not user")

hello(user=True)

Muestra el resultado.

I'm user

Con helado, puede completar fácilmente las operaciones anteriores sin información de texto innecesaria.

from icecream import ic 

def hello(user:bool):
    if user:
        ic()
    else:
        ic()

hello(user=True)

El resultado de salida es el siguiente.

ic| ice_1.py:5 in hello() at 02:34:41.391

A partir del resultado de salida, se ha ejecutado el código de la línea 5 en la función hola, pero no se ha ejecutado el código de la línea 7.

03. Prefijo personalizado

Si desea insertar un prefijo personalizado (como el tiempo de ejecución del código) en la declaración de impresión, también se puede lograr icecream.

from datetime import datetime
from icecream import ic 
import time
from datetime import datetime

def time_format():
    return f'{datetime.now()}|> '

ic.configureOutput(prefix=time_format)

for _ in range(3):
    time.sleep(1)
    ic('Hello')

El resultado de salida es el siguiente.

2021-01-24 10:38:23.509304|> 'Hello'
2021-01-24 10:38:24.545628|> 'Hello'
2021-01-24 10:38:25.550777|> 'Hello'

Puede ver el tiempo de ejecución del código, que se muestra delante de la salida.

04. Obtenga más información

Además de conocer el código relacionado con la salida, es posible que también desee conocer la línea de ejecución del código y el archivo de código.

En ic.configureOutput (), establezca el valor del parámetro de includeecontext en True.

from icecream import ic 

def plus_five(num):
    return num + 5

ic.configureOutput(includeContext=True)
ic(plus_five(4))
ic(plus_five(5))

El resultado de salida es el siguiente.

ic| ice_test.py:7 in <module>- plus_five(4): 9
ic| ice_test.py:8 in <module>- plus_five(5): 10

Aquí sabemos que la primera salida la ejecuta la función plus_five en la línea 7 del archivo icecream_example.py.

La segunda salida es ejecutada por la función plus_five en la línea 8 del archivo de código.

Ambas operaciones anteriores utilizan la función ic.configureOutput ().

Al mirar el código fuente, podemos ver que hay cuatro parámetros que se pueden configurar.

  • prefijo, prefijo de salida personalizado

  • outputFunction, cambia la función de salida

  • argToStringFunction, cadena de serialización de parámetros personalizados

  • includeContext, mostrar nombre de archivo, línea de código, información de función

05. Eliminar código Icecream

Finalmente, puede usar helado solo para depurar e imprimir para otros fines (como una impresión hermosa).

from icecream import ic

def plus_five(num):
    return num + 5

ic.configureOutput(includeContext=True)
ic(plus_five(4))
ic(plus_five(5))

for i in range(10):
    print(f'****** Training model {i} ******')

Muestra el resultado.

ic| ice_1.py:7 in <module>- plus_five(4): 9
ic| ice_1.py:8 in <module>- plus_five(5): 10
****** Training model 0 ******
****** Training model 1 ******
****** Training model 2 ******
****** Training model 3 ******
****** Training model 4 ******
****** Training model 5 ******
****** Training model 6 ******
****** Training model 7 ******
****** Training model 8 ******
****** Training model 9 ******

Dado que puede distinguir entre la impresión de depuración y la impresión bonita, es muy fácil buscar y eliminar todas las declaraciones de depuración de ic.

Después de eliminar todo el código de depuración, su código Python está limpio.

para resumir

En este punto, debería haber aprendido a usar helado para imprimir y depurar.

Para obtener más funciones, visite "GitHub" para obtener más detalles ~

https://github.com/gruns/icecream

Miles de ríos y montañas están siempre enamorados .

--- - --- --- --- - ---  Fin  --- - --- - --- --- - -

Recomendaciones de maravillosos artículos anteriores:

Invitamos a todos a dar me gusta , dejar un mensaje, reenviar, reimprimir, gracias por su compañía y apoyo.

Si desea unirse al grupo de aprendizaje de Python, responda en segundo plano [ Ingrese al grupo ]

Miles de ríos y montañas siempre están enamorados. ¿Puedes hacer clic en [ Mirar ]?

/ Tema del mensaje de hoy /

Solo di una palabra o dos ~~

Supongo que te gusta

Origin blog.csdn.net/pdcfighting/article/details/113812660
Recomendado
Clasificación