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

meg*_*ido 4 python attributes object

例如,我有下一个python类

class Myclass():
     a = int
     b = int
Run Code Online (Sandbox Code Playgroud)

想象一下,我不知道这个类的名称,所以我需要获取属性的名称?("a"和"b")

phi*_*hag 10

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

dir(Myclass)
Run Code Online (Sandbox Code Playgroud)

但是,_以私有/内部开头的属性.例如,即使你的简单Myclass也会有一个__module____doc__属性.要过滤掉这些,请使用

filter(lambda aname: not aname.startswith('_'), dir(Myclass))
Run Code Online (Sandbox Code Playgroud)