[解決済み] Pythonです。変数の名前と値を表示する?
2023-05-25 13:18:36
質問
デバッグの際、以下のようなprint文をよく見かけます。
print x # easy to type, but no context
print 'x=',x # more context, harder to type
12
x= 12
変数または変数名を受け取り、その名前と値を表示する関数をどのように書くことができますか? 私はもっぱらデバッグ出力に興味があり、これは本番コードに組み込まれることはありません。
debugPrint(x) # or
debugPrint('x')
x=12
どのように解決するのですか?
この場合
eval
:
def debug(variable):
print variable, '=', repr(eval(variable))
あるいは、より一般的に(呼び出し元の関数のコンテキストで実際に動作し、かつ
debug('variable')
では壊れませんが、CPython上だけです)。
from __future__ import print_function
import sys
def debug(expression):
frame = sys._getframe(1)
print(expression, '=', repr(eval(expression, frame.f_globals, frame.f_locals)))
とか出来るんですね。
>>> x = 1
>>> debug('x + 1')
x + 1 = 2
関連
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonで変数名を表示するにはどうしたらいいですか?[重複しています]。
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?
-
[解決済み] Pythonの変数をdictのキーにする