小编jak*_*uta的帖子

Python对象实例中的dict不包含类的方法

当创建对象的实例时,它的字典不包含类方法。一个例子是

    class A(object):
        def __init__(self, value):
            self.value = value
        def some_func(self): pass
    instance = A('some_value')
    print(instance.__dict__) #prints { 'value':'some_value }
Run Code Online (Sandbox Code Playgroud)

为什么它不包含方法呢?我知道打印A.__dict__将打印包含该函数的映射代理,但对于 A 的实例不会发生这种情况。

我尝试研究类的实例方法是如何映射的。如果这是使用 dict 完成的。我确实知道实例方法也有一个字典和其他预定义的属性。

class A(object)
    def __init__(self, value):
        self.value = value
    def some_func(self): pass
instance = A('this')
instance.__dict__ # will print {'value':'some_value'}
A.__dict__ # will print a mapping proxy
Run Code Online (Sandbox Code Playgroud)

我预计结果instance.__dict__将包含所有方法和属性作为键、值对的映射。

python dictionary class

3
推荐指数
1
解决办法
1672
查看次数

标签 统计

class ×1

dictionary ×1

python ×1