当前位置: 网站首页>网站建设>微信公众号开发

神木域名注册_域名申请_网站哪里可以备案-神木企业官网备案服务

发表日期: 2022-09-20 18:45:50 浏览次数:8

神木域名注册_域名申请_网站哪里可以备案-神木企业官网备案服务

网站建设.png

日前,中国信息通信研究院(以下简称“中国信通院”)已面向社区和公众完全开源星火BID(Blockchain-based Identifier)的SDK,助力区块链与“物理经济体”融合,全面促进数据在各个领域应用场景的价值流通,实现多方协作共赢。


2020年2月,中国信通院制定的BID方法被纳入W3C凭证社区工作组(Credentials Community Group)分布式标识(DID)规范。BID是基于W3C的DID协议、可验证的分布式标识符,具有永久性、全球可解析、加密可验证和分散性等特点。同时,BID通过密码学算法实现了安全可靠的隐私保护,在加密与编码算法方面实现了广泛的兼容性。



多继承中 super 的工作方式

再回到前面的

d = D()d.add(2)print(d.n)

现在你可能已经有点眉目,为什么输出会是

self is <__main__.D object at 0x10ce10e48> @D.addself is <__main__.D object at 0x10ce10e48> @B.addself is <__main__.D object at 0x10ce10e48> @C.addself is <__main__.D object at 0x10ce10e48> @A.add19

了吧 ;)

下面我们来具体分析一下:

  • D 的 MRO 是: [D, B, C, A, object] 。 备注: 可以通过 D.mro() (Python 2 使用 D.__mro__ ) 来查看 D 的 MRO 信息)

  • 详细的代码分析如下:

    class A:
        def __init__(self):
            self.n = 2
    
        def add(self, m):
            # 第四步
            # 来自 D.add 中的 super
            # self == d, self.n == d.n == 5
            print('self is {0} @A.add'.format(self))
            self.n += m        # d.n == 7class B(A):
        def __init__(self):
            self.n = 3
    
        def add(self, m):
            # 第二步
            # 来自 D.add 中的 super
            # self == d, self.n == d.n == 5
            print('self is {0} @B.add'.format(self))
            # 等价于 suepr(B, self).add(m)
            # self 的 MRO 是 [D, B, C, A, object]
            # 从 B 之后的 [C, A, object] 中查找 add 方法
            super().add(m)
    
            # 第六步
            # d.n = 11
            self.n += 3
            # d.n = 14class C(A):
        def __init__(self):
            self.n = 4
    
        def add(self, m):
            # 第三步
            # 来自 B.add 中的 super
            # self == d, self.n == d.n == 5
            print('self is {0} @C.add'.format(self))
            # 等价于 suepr(C, self).add(m)
            # self 的 MRO 是 [D, B, C, A, object]
            # 从 C 之后的 [A, object] 中查找 add 方法
            super().add(m)
    
            # 第五步
            # d.n = 7
            self.n += 4
            # d.n = 11class D(B, C):
        def __init__(self):
            self.n = 5
    
        def add(self, m):
            # 第一步
            print('self is {0} @D.add'.format(self))
            # 等价于 super(D, self).add(m)
            # self 的 MRO 是 [D, B, C, A, object]
            # 从 D 之后的 [B, C, A, object] 中查找 add 方法
            super().add(m)
    
            # 第七步
            # d.n = 14
            self.n += 5
            # self.n = 19d = D()d.add(2)print(d.n)







神木域名注册_域名申请_网站哪里可以备案-神木企业官网备案服务

想要咨询,请留言,我们的工作人员将尽快与您联系!
  
400-111-6878
服务热线
在线留言
在线咨询
预约专家
顶部

备案号: 苏ICP备11067224号

CopyRight © 2021 上往建站 All Right Reserved 未经许可不得复制转载

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 苏州网站建设| 调温纤维| 海洋馆运营维护|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878