gpt4 book ai didi

python - 有没有办法在不实例化对象的情况下列出类的属性?

转载 作者:IT老高 更新时间:2023-10-28 20:22:03 25 4
gpt4 key购买 nike

在 Python 3.5 中,假设我有:

class Foo:
def __init__(self, bar, barbar):
self.bar = bar
self.barbar = barbar

我想从类中获取列表["bar", "barbar"]

我知道我能做到:

foo = Foo(1, 2)
foo.__dict__.keys()

有没有办法让 ["bar", "barbar"] 实例化一个对象?

最佳答案

否,因为属性是动态的(所谓的实例属性)。考虑以下,

class Foo:
def __init__( self ):
self.bar = 1

def twice( self ):
self.barbar = 2

f = Foo()
print( list(f.__dict__.keys() ) )
f.twice()
print( list(f.__dict__.keys() ) )

在第一次打印中,仅设置了 f.bar,因此这是打印属性键时显示的唯一属性。但是在调用 f.twice() 之后,您为 f 创建了一个 new 属性,现在打印它同时显示 barbarbar.

关于python - 有没有办法在不实例化对象的情况下列出类的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44500842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com