如何获取python对象中的属性名称?

How to get the name of attribute in python object?

本问题已经有最佳答案,请猛点这里访问。

例如,我有下一个python类

1
2
3
class Myclass():
     a = int
     b = int

假设我不知道这个类的名称,那么我需要获取属性的名称?(a)和"b"


如果您想要所有(包括私有)属性,只需

1
dir(Myclass)

但是,以_开头的属性是私有/内部的。例如,即使是简单的Myclass也会有一个__module__和一个空的__doc__属性。要过滤这些,请使用

1
filter(lambda aname: not aname.startswith('_'), dir(Myclass))