相关疑难解决方法(0)

查看所有定义的变量

我正在进行python shell中的计算.我想要的是Matlab样式列表输出,你可以看到所有已经定义到一个点的变量(所以我知道我使用了哪些名称,它们的值等等).

有办法吗,我该怎么做?

python variables

263
推荐指数
10
解决办法
35万
查看次数

如何在python中打印变量名?

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

In [53]: namestr(choice)
Out[53]: 'choice'
Run Code Online (Sandbox Code Playgroud)

用于制作字典.有一个很好的方法来做到这一点,我只是错过了它.

编辑:

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

filename
no_sig_resonance.dat

mass_peak
700

choice
1,2,3
Run Code Online (Sandbox Code Playgroud)

当提示输入值时,将显示先前使用的值,空字符串输入将使用先前使用的值.

我的问题是因为在写字典时已经扫描了这些值.如果需要一个参数,我运行get_param访问文件并找到参数.

我想我会通过阅读来避免这个问题.config提交一次并从中生成字典.我原本避免了这个......我不再记得的原因.更新我的代码的完美情况!

python variables dictionary introspection

64
推荐指数
6
解决办法
12万
查看次数

Python变量作为dict的键

有没有更简单的方法在Python(2.7)中执行此操作?:注意:这不是任何花哨的东西,比如将所有局部变量放入字典中.只是我在列表中指定的那些.

apple = 1
banana = 'f'
carrot = 3
fruitdict = {}

# I want to set the key equal to variable name, and value equal to variable value
# is there a more Pythonic way to get {'apple': 1, 'banana': 'f', 'carrot': 3}?

for x in [apple, banana, carrot]:
    fruitdict[x] = x # (Won't work)
Run Code Online (Sandbox Code Playgroud)

python dictionary

61
推荐指数
3
解决办法
14万
查看次数

我可以在Python中打印原始变量的名称吗?

我有枚举并使用变量,如myEnum.SomeNameA,myEnum.SomeNameB等.当我从函数返回其中一个变量时,我可以打印它们的名称(例如myEnum.SomeNameA)而不是它们返回的值吗?

python variables

51
推荐指数
7
解决办法
4万
查看次数

如何找到传递给函数的变量的名称?

在C/C++中,我经常发现它在调试时有用,比如定义一个宏,ECHO(x)打印出变量名及其值(即ECHO(variable)可能打印variable 7).您可以使用"字符串化操作符的宏来得到变量名#描述这里.有没有办法在Python中这样做?

换句话说,我想要一个功能

def echo(x):
    #magic goes here
Run Code Online (Sandbox Code Playgroud)

如果被称为foo=7; echo(foo)(或foo=7; echo('foo')可能),将打印出来foo 7.我意识到如果我将变量及其名称都传递给函数,这样做是微不足道的,但是在调试时我会使用这样的函数,重复总是会让我感到恼火.

python reflection variables

8
推荐指数
1
解决办法
1888
查看次数

Python 日志变量:插值还是格式?

使用 Python 记录变量的推荐方法logging是什么,为什么更好?

旧式插值:

apple = "green"
logger.debug("apple is %s", apple)
Run Code Online (Sandbox Code Playgroud)

或者

新风格 .format()

logger.debug("apple is {}".format(apple))
Run Code Online (Sandbox Code Playgroud)

我听说插值是首选的,因为它只评估要打印的字符串,但我还没有验证它是否真的很重要。

python logging

8
推荐指数
1
解决办法
2609
查看次数

打印变量名及其值的打印函数

为了调试,我经常想打印一个变量。我这样做,例如:

打印(“cat_litter”,cat_litter)

那就是我打印变量名及其值。是否可以定义一个函数来为我执行此操作,以便我可以调用诸如“printwithname(cat_litter)”之类的东西。

python

0
推荐指数
1
解决办法
45
查看次数