Python类实例自省

2024-04-26 10:47:42 发布

您现在位置:Python中文网/ 问答频道 /正文

从内省的角度来看,有没有一种方法可以在不创建实例的情况下获取类实例变量。创建实例时,很容易:

class Super:
    def __init__(self, name):
        self.name = name

class Sub(Super):
    pass

a = Super("Nice_Name")

print(a.__dict__.keys())

但我想不创建实例就得到这些信息,只是为了反省。有办法吗?你知道吗


Tags: 实例方法nameselfinitdef情况pass
1条回答
网友
1楼 · 发布于 2024-04-26 10:47:42

不可以,因为python不是statically typed language,所以在实例化对象之前,该对象没有类型。例如,想象这样一个类:

class A:
def __init__(self):
    self.a = "a"

def change_type(self):
    self.a = 1

在实例化对象之前,self.a的类型是什么?如果需要反省,就不能使用python。你知道吗

相关问题 更多 >