打印属性

问题描述:

有没有办法打印出一个Python对象的所有属性与他们的价值观打印属性

例如一起,为下面的类和对象

class man: 
    def __init__(self): 
     name = "jim" 
     age = 2 

him = man() 

我想要打印出对象“他”的所有属性以及它们的值。我想某种代码,就像下面

for variable_name of him: 
    print variable_name," : ",him.variable_name 

应该打印出来

name : jim 
age : 2 

有没有办法做到这一点在Python?

+0

我认为你的意思'self.name =“jim''和'self.age = 2'。 –

+0

取决于。你关心的只是你在课堂上明确定义的内容,或者你是否真正想要每个属性和方法,包括从你自己的父类和内置对象继承的属性和方法? –

+0

如果你将这些变量赋值给'self',那么你可以使用'print(him .__ dict __)'。 –

首先,你需要在你的对象正确定义字段:

class man(objet): 
    def __init__(self): 
     self.name = "jim" 
     self.age = 2 

然后你可以使用object.__dict__

>>> him = man() 
>>> himp.__dict__ 
{'name': 'jim', 'age': 2} 
+0

或者,将'vars(him)'替换为'him .__ dict__'。参考:http://stackoverflow.com/questions/21297203/use-dict-or-vars –