如何遍历类中的属性python

如何遍历类中的属性python

作者:Rhett Bai发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何获取一个类实例的所有属性名称?

我想知道如何用Python获取某个类实例中的所有属性名,方便我进行后续操作。

A

使用内置函数 dir() 获取属性名

你可以使用内置的 dir() 函数获取一个对象的所有属性和方法名称。该函数返回一个字符串列表,包含实例的属性和方法名。然后可以通过过滤掉方法,仅保留属性。

Q
如何区分类中的属性和方法?

在遍历类对象的成员时,怎样才能只获得属性而忽略方法?

A

利用 hasattr() 和 callable() 来区分属性和方法

可以使用 hasattr() 判断属性是否存在,配合 callable() 判断某个属性是否可调用。对于不可调用的属性,可以认为是数据属性。通过这种方式,可以筛选出纯属性,排除方法。

Q
有没有更简洁的方式遍历对象属性?

想要遍历一个类实例的属性,有没有比dir()更方便或者更直观的方法?

A

使用__dict__属性查看实例的属性字典

Python中的实例对象通常有一个__dict__属性,它是一个字典,包含所有实例属性和对应的值。这是访问和遍历属性的简便方法,可以通过 obj.dict.items() 获取属性名和属性值。