列出一个类的所有属性
列出一个类的所有属性
这个问题已经在这里有了答案:
我们能列出一个类的所有属性(只有属性吗)?
比如我们有这个类:
class c1(): def __init__(self, x, y): self.fx = x self.fy = y self.fz = 0 def fun1(): return self.fx
用dir(c1)可以得到一个包含所有对象(包括属性)的完整列表,但是我们不能区分方法和属性。
我想这样会有用:
type(dir(obj1)[-1])
# [-1]是最后一个属性,但type返回一个字符串。
admin 更改状态以发布 2023年5月23日
使用 __dict__.keys()
:
class c1(): def __init__(self, x, y): self.fx = x self.fy = y self.fz = 0 def fun1(): return self.fx obj1 = c1(1,2) print(obj1.__dict__.keys())
输出: dict_keys(['fx', 'fy', 'fz'])
您可能还想查看 pprint()
你可以使用__dict__
关键字来访问属性。
class c1(): def __init__(self, x, y): self.fx = x self.fy = y self.fz = 0 def fun1(): return self.fx obj1 = c1(1,2) print(obj1.__dict__)
输出
{'fx': 1, 'fy': 2, 'fz': 0}