打印属性
问题描述:
有没有办法打印出一个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?
答
首先,你需要在你的对象正确定义字段:
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 –
我认为你的意思'self.name =“jim''和'self.age = 2'。 –
取决于。你关心的只是你在课堂上明确定义的内容,或者你是否真正想要每个属性和方法,包括从你自己的父类和内置对象继承的属性和方法? –
如果你将这些变量赋值给'self',那么你可以使用'print(him .__ dict __)'。 –