pythondict_python中__dict__的作用是什么?

来自 ,导图来自csdn li33

# -*- coding: utf-8 -*-

class A(object):

a = 0

name = None

b = 1

def __init__(self,name):

self.a = 2

self.b = 3

self.name = name

def test(self):

print ('a normal func.')

class B(A):

def test_B(self):

print ('func named test_B')

obj = A('Tom')

obj1 = B('Jerry')

print (A.__dict__)

print (obj.__dict__)

print (obj.__dict__['name'])

print (B.__dict__)

print (obj1.__dict__)

#执行结果如下

{'__module__': '__main__', 'a': 0, 'name': None, 'b': 1, '__init__': , 'test': , '__dict__': , '__weakref__': , '__doc__': None}

{'a': 2, 'b': 3, 'name': 'Tom'}

Tom #可以通过键来获取对象__dict__属性中的值

{'__module__': '__main__', 'test_B': , '__doc__': None}

{'a': 2, 'b': 3, 'name': 'Jerry'}

总结:

1) 内置的数据类型没有__dict__属性

2) 每个类有自己的__dict__属性,就算存着继承关系,父类的__dict__ 并不会影响子类的__dict__

3) 对象也有自己的__dict__属性, 存储http://self.xxx 信息,父子类对象公用__dict__

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值