列出Python类中的所有变量

时间:2016-05-28 13:36:11

标签: python

我已经上课了,在程序运行完毕后,我想列出我有点喜欢的所有变量

var1: val
var2: val
etc

我的班级看起来像这样

class character:

   name = 'Player1'
   level = 1
   str = 100
   con = 80
   sta = 150
   critchance = 0.1
   critdmg = 0.5

   # for battle
   hp = con * con
   thoughness = math.sqrt(sta)

2 个答案:

答案 0 :(得分:1)

您可以使用字典理解(假设Python 2.6+)从类中提取变量' __dict__

print({k: v for k, v in character.__dict__.items() if not k.startswith('__')})
>> {'con': 80, 'level': 1, 'critchance': 0.1, 'sta': 150, 
    'str': 100, 'name': 'Player1', 'critdmg': 0.5}

请记住,在您提供的示例中,这些是类变量而不是实例变量。

答案 1 :(得分:0)

这是你想要的东西吗?

for var in dir(character):
    if var[:2] != '__':
        print '%s:' % var, getattr(character, var)