当前位置: 首页 > 面试题库 >

如何在python中打印变量名?

宋晋
2023-03-14
问题内容

假设我有一个名为choice它的变量等于2。我将如何访问该变量的名称?相当于

In [53]: namestr(choice)
Out[53]: 'choice'

用于制作字典。有一个很好的方法可以做到这一点,而我只是想念它。

编辑:

因此,这样做的原因是。我正在运行一些数据分析的东西,我在运行时使用多个我想调整或不调整的参数来调用程序。我从格式为.config的文件中读取了上次运行中使用的参数

filename
no_sig_resonance.dat

mass_peak
700

choice
1,2,3

当提示你输入值时,将显示先前使用的值,并且空字符串输入将使用先前使用的值。

之所以出现我的问题,是因为在编写将这些值扫描到的字典时。如果需要一个参数,我运行get_param它访问文件并找到参数。

我认为我会通过阅读一起避免这个问题。config文件一次,然后从中产生字典。我本来是出于……我不再记得的原因避免了这种情况。完美的情况来更新我的代码!


问题答案:

如果你坚持,这是一些基于检查的可怕解决方案。

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 2中学到的有所不同…这就是到目前为止 第一个值为int,第二个为字符串,最后一个为int。 如何更改我的打印语句,以便正确打印变量? 问题答案: 语法已更改,因为它现在是一个函数。这意味着格式需要在括号内完成:1 但是,由于您使用的是Python 3.x,因此实际上应该使用较新的方法: 尽管尚未 正式 弃用格式(但是),但仍不建议使用该格式,因此很可能会

  • 问题内容: 我正在尝试在Java的打印行中打印在webdriver test中使用的测试数据 我需要打印内的课堂上使用多个变量函数(/ /不管)。 我需要在打印语句中进行以下打印: 名字:( 我使用的变量值) 姓氏:( 我使用的变量值) 使用如下所示的方法可以得到准确的结果。 但是我需要减少行数并使用更有效的方法。 谢谢! 问题答案: 您可以使用1做到这一点:

  • 问题内容: 我想在引号中打印一个变量。我想打印出来 我已经尝试了很多,但有效的方法是: –但是输出中有两个空格-> 当我不使用逗号时,会出现语法错误。 如何在一对引号内打印内容? 问题答案: 您可以使用: 在这里了解格式:格式 在3x中,您可以使用:

  • 使用和不起作用。有没有别的办法我可以打印号码的类型?

  • 问题内容: 如何打印(在控制台),,等这个结构中Golang的? 问题答案: 要在结构中打印字段名称: 从包装中: 打印结构时,加号()添加字段名称 假设您有一个Project的实例(在’ ‘中) 文章JSON和Go将提供有关如何从JSON结构中检索值的更多详细信息。 此“按示例进行搜索”页面提供了另一种技术: 那会打印: 如果没有任何实例,则需要 使用反射 来显示给定结构的字段名称,如本例所示。

  • 如何在Golang中打印(在控制台中)该结构的、、等?