新式类, 旧式类

class A:
    @classmethod
    def s(cls):
        print("1")

class B:
    b = A
    def s(self):
        self.b.s()

B().s()

 

def fn():

    print("hello")



dn = fn

dn()  

旧式类  class A:

                        pass

新式类  class A(object):

                        pass

  现在所说的,提倡的一般就是新式类

继承多个:

                 class A(B,C,D):

            方法重叠则从左到右找

       菱形继承:类似于广度优先遍历

                 A.__mro__   判断先后继承是哪个

                               mro算法判断出来的

                        一般不采用菱形继承

      以上说的是新式类中的继承优先级

          旧式类中继承优先级使用深度优先遍历

   2   super是子类中使用父类方法,同时也是新式类中才有的    

   3    global  和  nonlocal

nonlocal 是python3中的新增内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值