変数名を文字列として取得する 質問する

変数名を文字列として取得する 質問する

私はすでに読んだ関数名を文字列として取得するにはどうすればいいですか?

変数に対して同じことを行うにはどうすればよいですか? 関数とは異なり、Python 変数には属性がありません__name__

つまり、次のような変数があるとします。

foo = dict()
foo['bar'] = 2

次のような関数/属性を探していますretrieve_name:

>>> retrieve_name(foo)
'foo'

これは、このリストからPandasでDataFrameを作成するここで、列名は実際の辞書の名前によって指定されます。

# List of dictionaries for my DataFrame
list_of_dicts = [n_jobs, users, queues, priorities]
columns = [retrieve_name(d) for d in list_of_dicts] 

ベストアンサー1

Python 3.8では、f弦デバッグ機能:

>>> foo = dict()
>>> f'{foo=}'.split('=')[0]
'foo' 

この方法の欠点は、印刷するには自分自身'foo'を追加する必要があることですf'{foo=}'。言い換えれば、変数の名前をすでに知っている必要があります。言い換えると、上記のコードスニペットは、

>>> 'foo'

おすすめ記事