如何获取Python对象中的属性名?
比如我有一个这样的Python类:
class Myclass():
a = int
b = int
假设我不知道这个类的名字,那么我需要获取属性的名字?("a"和"b")
1 个回答
10
如果你想获取所有的属性(包括私有的),只需要这样做:
dir(Myclass)
不过,属性名以 _
开头的都是私有的或内部使用的。例如,即使是你简单的 Myclass
也会有一个 __module__
属性和一个空的 __doc__
属性。要把这些过滤掉,可以使用:
filter(lambda aname: not aname.startswith('_'), dir(Myclass))