在我的代码中,我声明了很多变量,我希望经常对其进行分析以检查这些值是否有意义。例如
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]]
然后将所有值和键(或名称)预先耦合。但是,因为我确实有很多变量,而且我经常创建它们,所以对于每个变量赋值,这总计要增加一些额外的代码。因此,这似乎不是理想的解决方案。
我希望我错过了一个非常优雅的解决方案。您知道一个机会吗?