ホームページ >バックエンド開発 >Python チュートリアル >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 サイトの他の関連記事を参照してください。