関数 Return 後の Python での変数名の出力
Python では、myEnum.SomeNameA や myEnum などの列挙型変数を使用するのが一般的です。 SomeNameB.これらの変数が関数から返される場合、値ではなく名前を出力すると便利です。
短い答え: 不可能
短い答えは、関数から返された後で元の変数名を出力することはできません。これは、Python 変数は名前が関連付けられたオブジェクトではないためです。
長い回答: ハッキーな回避策
同様のことを実現できる可能性のある回避策がいくつかあります。 , ただし、これらの方法は通常、運用コードでは推奨されません。このような回避策の 1 つは、traceback、inspect、およびその他のモジュールを使用してコール スタックに関する情報にアクセスすることです。これは、次のようなコードを使用して実現できます:
<code class="python">import inspect import traceback def get_variable_name(value): # Get the current stack frame frame = inspect.currentframe() # Get the function that called this function function = frame.f_back.f_code # Get the line number of the call line_number = frame.f_back.f_lineno # Get the source code for that line source_line = function.co_lines[line_number - 1] # Find the variable name var_name = source_line.split("=")[0].strip() return var_name</code>
ただし、このような回避策は複雑でエラーが発生しやすい可能性があり、すべての状況に適しているわけではないことに注意することが重要です。
回避策
変数名を出力する代わりに、特定の使用例に基づいて別のアプローチを使用することを検討できます。たとえば、値を対応する名前にマッピングする辞書を維持したり、ログ フレームワークを使用して変数名とその値を記録したりできます。
以上がPython で関数が返された後に元の変数名を出力できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。