加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 类,dict,self,init,args?

发布时间:2020-12-16 23:06:15 所属栏目:Python 来源:网络整理
导读:class attrdict(dict): def __init__(self,*args,**kwargs): dict.__init__(self,**kwargs) self.__dict__ = selfa = attrdict(x=1,y=2)print a.x,a.yb = attrdict()b.x,b.y = 1,2print b.x,b.y 有人可以用文字解释前四行吗?我阅读了关于课堂和方法.但这里
class attrdict(dict):
    def __init__(self,*args,**kwargs):
        dict.__init__(self,**kwargs)
        self.__dict__ = self

a = attrdict(x=1,y=2)
print a.x,a.y

b = attrdict()
b.x,b.y  = 1,2
print b.x,b.y

有人可以用文字解释前四行吗?我阅读了关于课堂和方法.但这里似乎很混乱.

解决方法

我的一枪一行解释:
class attrdict(dict):

该行声明一个类attrdict作为内置dict类的子类.

def __init__(self,**kwargs): 
    dict.__init__(self,**kwargs)

这是您的标准__init__方法.调用dict .__ init __(…)是利用超级
类(在这种情况下,dict)构造函数(__init__)方法.

最后一行,self .__ dict__ = self使得你传递给__init__方法的关键字参数(kwargs)可以像属性一样被访问,比如下面代码中的a.x,a.y.

希望这有助于清除你的困惑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读