ホームページ >バックエンド開発 >Python チュートリアル >実行時に Python 変数の名前を取得するにはどうすればよいですか?

実行時に Python 変数の名前を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 14:02:10113ブラウズ

How Can I Get a Python Variable's Name at Runtime?

Python での変数名のインターセプト

Python では、変数名に直接アクセスするのは簡単な作業ではありません。ただし、変数名の取得が重要な特定のシナリオでは、次の解決策を検討してください。

検査モジュールのトリック

検査モジュールを通じて、コール スタックを走査して変数を抽出できます。興味のある名前。その方法は次のとおりです:

import inspect, re

def varname(p):
  for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
    m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line)
    if m:
      return m.group(1)

使用例

その機能を説明するために、値 42 を持つ spam という名前の変数があると仮定します。varname() 関数を使用すると、以下を取得できます。その名前:

if __name__ == '__main__':
  spam = 42
  print varname(spam)

出力

出力はbe:

spam

注意事項

このアプローチは変数名にアクセスする手段を提供しますが、慎重に使用することが重要です。 Python コーディングの実践では、変数に直接名前を付けることは一般に推奨されません。この手法の必要性を避けるために、初期化中に構成ファイルを辞書に変換するなど、代替ソリューションを検討してください。

以上が実行時に Python 変数の名前を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。