ホームページ >バックエンド開発 >Python チュートリアル >Python 変数の名前をプログラムで決定するにはどうすればよいですか?

Python 変数の名前をプログラムで決定するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 16:59:10831ブラウズ

How Can I Determine the Name of a Python Variable Programmatically?

Python での変数名の決定

Python で変数を操作する場合、場合によっては変数の名前にアクセスする必要があります。 Python には変数名を取得する直接関数はありませんが、1 つのアプローチにはイントロスペクションが含まれます。

inspect.getframeinfo(inspect.currentframe().f_back) を使用して現在のスタック フレームを検査すると、ソース コード行にアクセスできます。各行内で、正規表現を使用して、変数を引数として取る関数の呼び出しを検索できます。関数名 (おそらく varname) は、変数を定義する行を識別するために使用できます。正規表現を使用してその行から変数名を抽出すると、目的の結果が得られます。

そのような実装の例を次に示します:

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)

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

この検査ベースのソリューションを検討する必要があります。特定の状況では予期しない動作が発生する可能性があるため、慎重に行ってください。したがって、構成ファイルの読み取りや辞書の生成などの代替アプローチを検討する必要があります。

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

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