Actualmente para mis experimentos científicos utilizo
dbg = print # def dbg(*args): pass
Así que tengo un montón de dbg(x, y, f(x))
en el código, todo lo cual puedo "desactivar" comentando una línea y descomentando otra.
Sin embargo, la salida parece breve, por ejemplo, 0 15 32
.
¿Hay alguna manera de hacer que se vea como x = 0, y = 15, f(x) = 32
?
Traté de escribir algo usando eval
, pero no pude.
Intente usar el operador =
en f-strings
:
dbg(f"{x=}, {y=}, {f(x)=}")
Esto se introdujo en Python3.8 f-strings support = para expresiones autodocumentadas y depuración
Se agregó un especificador
=
a f-strings. Una cadena f comof'{expr=}'
se expandirá al texto de la expresión, un signo igual y luego la representación de la expresión evaluada. Por ejemplo:>>> user = 'eric_idle' >>> member_since = date(1975, 7, 31) >>> f'{user=} {member_since=}' "user='eric_idle' member_since=datetime.date(1975, 7, 31)"