打印包括变量名称的变量有什么好的选择?

时间:2019-01-08 13:08:08

标签: python dictionary

在我的代码中,我声明了很多变量,我希望经常对其进行分析以检查这些值是否有意义。例如

import numpy as np
foo = 8                       # some data
bar = 5
k = np.array([[0, 1],[2,3]])

print('foo:',foo, 'k:',k)     # I write these lines of code a lot

现在,我尝试创建一个函数“ jprint”,该函数对我来说工作量较小。该函数应自动打印出包括其名称在内的变量,如下所示。

def jprint(*args):
    for arg in args:
        print('?arg_name?',':',arg, end='')  # (end='' suppresses 
                                             # newline, not of importance 
                                             # any further)
    return

jprint(foo,k)
>> foo: 8, k: [[0 1] [2 3]]                  # (on 2 lines probably)

因此,我需要同时获取变量的值及其名称。但是,我从StackOverflow的其他类似问题中了解到,要这样做很不好。

所以我仍在寻找和怀疑。最好的选择是什么?

半解决方案

我想到的第一个解决方案是将所有内容都放入字典,像这样

import numpy as np
foo = {'foo',8}                       # some data
bar = {'bar',5}
k = {'k',np.array([[0, 1],[2,3]])}

jprint(foo,k)     
>> foo: 8, k: [[0 1] [2 3]]    

然后将所有值和键(或名称)预先耦合。但是,因为我确实有很多变量,而且我经常创建它们,所以对于每个变量赋值,这总计要增加一些额外的代码。因此,这似乎不是理想的解决方案。

最佳解决方案

我希望我错过了一个非常优雅的解决方案。您知道一个机会吗?

0 个答案:

没有答案