Python 2.7.8にて、
def foo(arg):
print arg
a = 123
print a
を実行すると123が表示されます。
これを、同時に
"a"
も表示したいです。つまり引数の入っていた変数の名前を得たいです。
出来ればpyファイル名も得たいです。
ネットを参照して、その変数の場所(行位置)は
inspect.stack()[1][2]
で得られることが分かりました。
これを元に検索すると、inspect.stackの説明がありました:
inspect.stack([context])¶(原文)
呼び出し元スタックのフレームレコードのリストを返します。最初の要素は呼び出し元のフレームレコードで、末尾の要素はスタックにある最も外側のフレームのフレームレコードとなります。
この説明の意味が分かりません。
No.2ベストアンサー
- 回答日時:
変数は難しいと思います。
得たファイル名と行番号から、ソースコードを読み出して解析するしかないように思います。
a=1
b=a
func(a)
では、「変数a」を渡すわけではなく、「整数オブジェクト1」が渡されます。
「整数オブジェクト1」は、変数aでもあり、変数bでもあります。
No.1
- 回答日時:
[inspect.stack呼び出し元のフレームレコード(現在のフレームレコード),
現在の関数の呼び出し元のフレームレコード,
それの呼び出し元のフレームレコード,
...
一番上の呼び出し元のフレームレコード ]
その関数の説明のちょっと上に
http://docs.python.jp/2/library/inspect.html#ins …
> “フレームレコード”は長さ6のタプルで、以下の値を格納しています:
> フレームオブジェクト、
> ファイル名、
> 実行中の行番号、
> 関数名、
> コンテキストのソース行のリスト、
> ソース行のリストにおける実行中の行のインデックス。
とあります。
ファイル名と行番号は解決でしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング
-
windowsでテキストファイルの各...
-
プログラミング ソースコード
-
正規表現で複数マッチ条件で悩...
-
Pythonって何を意識した言語な...
-
vba クリップボードクリアにつ...
-
このURLで広告を出しているのは...
-
Webサイト内に埋め込んだmp4動...
-
初心者powershellのPS1ファイル...
-
pythonの条件分岐(if)
-
Pythonを勉強しています。
-
そのまま使っただけなのに・・...
-
Pythonを勉強中で、初歩的です...
-
pythonの画像の貼り付けについて
-
pythonでのカーソル移動がずれる
-
HTMLソースが表示のページのも...
-
ExcelVBAでFormulaR1C1を列範囲...
-
Google ColaboでGUI作成
-
Pythonで、データファイルと列...
-
Windowsのバッチファイルについ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フレーム内に移動したい
-
ソーラーパネルのアルミフレー...
-
HPを作りたい
-
ドロップフレームの計算をエク...
-
フレーム内のオプションボタン...
-
車の運転時のメガネ 縁なし(...
-
VBで動的に作成したパネルの上...
-
Access2010でサブフォームのフ...
-
PS5やPS4proに関して質問です。...
-
B2ポスターフレームの自作
-
メガネのフレームの買い取りに...
-
フレーム内でのリダイレクトに...
-
2倍速を等速動画に(車載動画)
-
チェックボックスを横並びに表...
-
cisco catalystのトラブルシュ...
-
HDDを5台入れられる金属フレー...
-
フレームでのResponse.Redirect
-
KSR2 車体番号
-
Directshowを使って動画を画像...
-
2Dゲーム作成する際、アニメー...
おすすめ情報