Cコードでは、次のようなprintfデバッグマクロを頻繁に使用します
#define DPRINT_INT(i) fprintf(stderr,"%s has the value %i at line %i", #i,i, __LINE__)
そして、変数を出力する DPRINT_INT(height) のようなこと、または DPRINT_INT(from_cm_to_inch(get_average(heights))) のようなことを行うことができ、名前の式全体を出力します。
Python には C のようなマクロがないため、Python でこれを行うには
文字列を渡し、inspect を使用して呼び出し元の関数環境を取得し、eval を呼び出します。しかし、私は文字列を渡すのが好きではありません.醜くて忘れやすいです(型をチェックし、文字列以外が渡された場合は例外を呼び出します)、ideではうまく機能しません.
デバッグ機能の Python コードから変数名と式を抽出する方法はありませんか? ある?