в коде c Я часто использую макросы отладки printf, такие как
#define DPRINT_INT(i) fprintf(stderr,"%s has the value %i at line %i", #i,i, __LINE__)
, и затем я могу делать что-то вроде DPRINT_INT (высота), где он будет печатать переменную или что-то вроде DPRINT_INT (from_cm_to_inch (get_average (heights))) и он распечатает все выражение для имени.
Чтобы сделать это для python, поскольку у python нет c-подобных макросов
Я передаю строку и использую inspect дляполучить среду вызывающих функций для вызова eval.Но я не люблю передавать строки, это некрасиво и легко забыть (у меня есть проверка типа и вызвать исключение, если ему передается не строка), и он не работает с ide.
Нет никакого способа извлечь имена переменных и выражения из кода Python для функции отладки?есть?