如何打印所有对象属性,例如:
print obj
但这不会打印对象的所有属性
答案 0 :(得分:4)
您可以使用内置方法dir(obj)
默认dir()
机制对不同类型的对象的行为有所不同,因为它试图产生最相关的信息,而不是完整的信息:
如果对象是模块对象,则列表包含模块属性的名称。 如果对象是类型或类对象,则列表包含其属性的名称,并且递归地包含其基础的属性。 否则,该列表包含对象的属性名称,其类的属性的名称,以及其类的基类的属性的递归。
答案 1 :(得分:1)
您可以为对象添加内置函数(例如__str__(
)或__repr__()
)
class MyObject:
def __init__(self):
#add proprieties
self.x = 32
self.y = 43
def __str__(self):
return ("Object: " + str(self.x) + " " + str(self.y))