获取Python中的所有对象属性?
有没有办法获得所有的属性/方法/字段/等。 Python中的对象?
 vars() 接近我想要的,但它不工作,除非对象有一个__dict__ ,这并不总是真实的(例如,它不是真正的list , dict等)。 
 使用内置函数dir() 。 
 你可能想要的是dir() 。 
  __dir__是,类可以覆盖特殊的__dir__方法,这会导致dir()返回类所需的任何东西(尽pipe鼓励他们返回一个精确的列表,但这并不是强制执行的)。 此外,一些对象可以通过覆盖__getattr__来实现dynamic属性,可以是RPC代理对象,或者可以是C扩展类的实例。 如果你的对象是一个这样的例子,它们可能没有__dict__ 或者能够通过__dir__提供一个完整的属性列表:这些对象中的许多可能有这么多的dynamic属性,它不会真的知道它有什么您尝试访问它。 
 在短期内,如果dir()是不够的,你可以编写一个函数,它遍历__dict__对象,然后__dict__所有的类在obj.__class__.__mro__ ; 尽pipe这只适用于普通的python对象。 从长远来看,你可能不得不使用鸭子打字+假设 – 如果它看起来像鸭子,交叉手指,并希望它有。 
 我用__dict__ 
例如 :
 class MyObj(object): def __init__(self): self.name = 'Chuck Norris' self.phone = '+6661' obj = MyObj() print(obj.__dict__) # Output: # {'phone': '+6661', 'name': 'Chuck Norris'}