新式类, 旧式类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Areigninhell/article/details/82755476
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中的新增内容

猜你喜欢

转载自blog.csdn.net/Areigninhell/article/details/82755476