zoukankan      html  css  js  c++  java
  • type和object的关系

    在python里面,一切皆为对象type是object的类型,同时,object又是type的超类。

      注:被继承的类被称为超类-superclass、基类-base class 或者父类  parent class

    super不是一个对象的引用,不能讲super赋予一个对象的变量,它只是一个指示编译器调用超类方法的关键字

    this是指向所属对象的

    object和type是同时出现的,类可以通过 type 来定义。

    超类

    # 超类 super(), 优雅的初始化类的属性 
    #当对象B继承了对象A时,对象B就拥有了对象A的所有方法和属性.但是当我们需要给B()定义 一个初始属性 ,就不能像方法A()一样用__init__(self),因为直接用 __init__(self)就相当 于重写了父类的 初始化属性
    class A():
        def __init__(self):
            self.first_name = 'king'
        def second_name(self):
            print('hao')
    
    class B(A):
        def __init__(self):                 
            super(B,self).__init__( )
            self.english_name = 'horsun'
        def full_name(self):
            print('king hao')
    

      

    object 和type都属于type类(class ‘type’)

    type类有type元类自身创建,objec类是由元类type创建

    object的父类为空,没有继承任何类

    type的父类为object类(class ‘object’)

    元类:负责产生该对象的类称之为元类,即元类可以简称为类的类

     

    面向对象的体系中,存在两种关系:

    • 父子关系:这种关系存在于某个类(subclass)是另一个类(superclass)的特别版本之中。通常描述为“子类是一种父类”。比如:蛇是一种爬行动物(Snake is a kind of reptile)。其中,蛇(snake)是子类,爬行动物(reptile)是父类。蛇拥有爬行动物的特征,同时,又拥有标志自己是一条蛇的特征。

    • 类型实例关系:这种关系存在于两个对象之中,其中一个对象(实例)是另一个对象(类型)的具体实现。我有一条宠物蛇叫Squasher,那么Squasher就是蛇的一个实例。英文描述为:"Squasher is an instance of snake"

     

     

    两个规则:

    如果X是A的实例,同时A又是B的子类,那么,X也是B的实例如果B是M的实例,同时A是B的子类,那么,A也是M的实例

    比如你自定义了一个类myclass,实例化就是在myclass后增加()操作符完成的。也就是instance_of_myclass=myclass()

  • 相关阅读:
    python 各层级目录下的import方法
    Ubuntu更新python3.5到python3.7
    程序员的江湖--个人品牌
    产品经理看哪吒之魔童降世
    Python 相对路径和绝对路径--python实战(九)
    vim 下修改tab键为四个空格
    一个python问题引发的思考
    【python】多进程共享变量
    【python】spark+kafka使用
    【python】kafka在与celery和gevent连用时遇到的问题
  • 原文地址:https://www.cnblogs.com/workherd/p/14321202.html
Copyright © 2011-2022 走看看