在函数返回后在 Python 中打印变量名称
在 Python 中,常见的是使用枚举变量,例如 myEnum.SomeNameA 和 myEnum。某个名字 B.当这些变量从函数返回时,打印它们的名称而不是它们的值会很有用。
简短答案:不可能
简短答案是它从函数返回后无法打印原始变量名称。这是因为 Python 变量不是具有与其关联的名称的对象。
长答案:Hacky 解决方法
有一些解决方法可以让您实现类似的目标,但一般不建议将这些方法用于生产代码。其中一种解决方法涉及使用回溯、检查和其他模块来访问有关调用堆栈的信息。这可以使用类似于以下的代码来实现:
<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中文网其他相关文章!