class A:
def __init__(self):
self.a = "a"
self.b = "b"
print(A().__dict__) # prints {'a': 'a', 'b': 'b'}
print(vars(A())) # also prints {'a': 'a', 'b': 'b'}
class A:
foo = 'bar'
def __init__(self):
self.a = "a"
self.b = "b"
a = A()
print(vars(a)) # prints "{'a': 'a', 'b': 'b'}"
print({k: v for k, v in vars(A).items() if not k.startswith('__')}) # prints "{'foo': 'bar'}"
您可以通过查看
__dict__
属性或使用vars
函数来执行此操作,如下所示:也许我不理解你的问题,但获得你所描述的属性字典的最简单方法如下:
这应该给你:
dict属性是dunder属性,但对于这个IMO来说,它是最优雅的解决方案。是否有特定的原因要避免使用此方法?如果不是,为了简单起见,我推荐它
相关问题 更多 >
编程相关推荐