ホームページ > バックエンド開発 > Python チュートリアル > Python 関数で元の変数名を取得できますか?

Python 関数で元の変数名を取得できますか?

Barbara Streisand
リリース: 2024-10-31 17:34:02
オリジナル
1013 人が閲覧しました

Can You Retrieve Original Variable Names in Python Functions?

Python 関数での元の変数名の取得

Python では、変数が渡されたときに元の変数名を取得することが望ましいと思われる場合があります。関数に。ただし、このタスクは言語によって直接サポートされていません。

これに対処するには、検査モジュールを利用できますが、潜在的な欠点や欠点があるためお勧めできません。

<code class="python">import inspect

def foo(a, f, b):
    frame = inspect.currentframe()
    frame = inspect.getouterframes(frame)[1]
    string = inspect.getframeinfo(frame[0]).code_context[0].strip()
    args = string[string.find('(') + 1:-1].split(',')

    names = []
    for i in args:
        if i.find('=') != -1:
            names.append(i.split('=')[1].strip())

        else:
            names.append(i)

    print(names)

def main():
    e = 1
    c = 2
    foo(e, 1000, b=c)

main()</code>
ログイン後にコピー

出力:

['e', '1000', 'c']
ログイン後にコピー

重要な注意事項:

  • このメソッドはハックとみなされ、運用コードでは使用されません。
  • ネストされた関数やラムダ式を使用する場合など、特定の状況では壊れる可能性があります。
  • 追加の引数として変数名を渡すなどの代替アプローチもあります。

以上がPython 関数で元の変数名を取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート