in c code I frequently use printf debugging macros like
#define DPRINT_INT(i) fprintf(stderr,"%s has the value %i at line %i", #i,i, __LINE__)
and then i can do things like DPRINT_INT(height) where it will print the variable or things like DPRINT_INT(from_cm_to_inch(get_average(heights))) and it will print out the whole expression for the name.
To do this for python, since python doesn't have c-like macros
I pass a string and use inspect to get the calling functions environment to call eval with. But I don't like passing strings, its ugly and easy to forget(I have it check type and call an exception if it gets passed a non string) and doesn't work as well with the ide.
There isn't any way to extract the variable names and expressions from the python code for the debug function? is there?
import
into the REPL and drive them there if necessary. In five years of Python programming I have never used the debugger. – Bronchiallogging.debug
statements. The import and configuration of the module is only two lines, plus it gives you the benefit of easily disabling log levels later on without having to change your code. – Lasley