Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取类的属性_Python_Python 3.x - Fatal编程技术网

Python 获取类的属性

Python 获取类的属性,python,python-3.x,Python,Python 3.x,是否有任何通用的方法可以通过类名和实例获取类的属性 class A: def __init__(self): self.prop = 1 a = A() for attr, value in a.__dict__.items(): print(attr, value) # prop, 1 为什么上一个示例返回dir属性,但为什么结果不同?dict\uuuuuuuuuuu、\uuuuuuu doc\uuuuuu、\uuuuuuu module\uuuuuuu

是否有任何通用的方法可以通过类名和实例获取类的属性

class A:
    def __init__(self):
        self.prop = 1

a = A()

for attr, value in a.__dict__.items():
    print(attr, value) # prop, 1


为什么上一个示例返回
dir
属性,但为什么结果不同?

dict\uuuuuuuuuuu、\uuuuuuu doc\uuuuuu、\uuuuuuu module\uuuuuuuuuuuuu、…
实际上存在于类中,即使您还没有创建它们。它们是“内置的”

因此,
dir
向您显示它们是正常的

实例中的属性存储实例属性

class A:
    def __init__(self):
        self.prop = 1

a = A()
for attr, value in a.__dict__.items():
    print(attr, value)
这将显示实例属性。只有一个实例属性-
prop
self.prop=1

这将获得类属性<代码>道具已添加到实例中,因此不在此处


要从对象中获取所有属性,包括类属性、基类属性,请使用

您希望该属性为您提供什么?>是否有任何通用方法可以通过类名和实例获取类的属性我不明白这一点,我是说在第二个示例中如何获取类属性(我想获取
prop,1
)?@Opsa,在第二个示例中,您要求获取类属性,但
prop
仅存在于这个类实例中,这就是为什么它不存在的原因
prop
在第二个示例中不是类属性。这仍然是一个实例的属性。谢谢你的回答,但是告诉我如何像按实例一样获得
class
属性?
class A:
    def __init__(self):
        self.prop = 1

a = A()
for attr, value in a.__dict__.items():
    print(attr, value)
for attr, value in A.__dict__.items():