Python说文解字_杂谈02

1. Py中三个中啊哟的概念type、object和class的关系。

  type生成了int生成了1

  type->class->obj

  type用来生成类对象的

  object是最顶层的基类

  type也是一个类,同时type也是一个对象

  结论:类是由type这个类生成的对象。obejct是所有类都继承的基类。继承都是object,实例是由type生成。

  把握几个知识点就能深刻理解这个观点。

  知识点1:type()并可以显示类型,所谓类型可以反映是由谁实例化生成的。实例化是动作,生成的结果就是对象。这是第一条线。

  比如:

>>> a = 1
>>> type(1)
<class 'int'>
>>> type(int)
<class 'type'>

  int实例化了a,a是结果是一个对象,type实例化了int,int是结果是一个对象。

 

  知识点2:不但实例化的过程,type最终形成环路,type实例化了自己,type的结果是一个对象,就是type自己。

  知识点3:__bases__可以显示继承关系,就是所谓一层一层的继承关系。不管继承了多少层,最终都会继承object这个基类,包括type这个生成器的继承。这是第二条线。

  知识点4:type和ojbect,是一个特殊关系,互为指向的关系。

 

  总结:重点要理解继承和实例化,是两个不同概念,是两种概念两条线,其中又互为依赖。实例化是母体和子体的是生成关系。继承是属性和方法的遗传关系。

  生成关系  vs 遗传关系。是一切接对象的核心。

 

  举个例子:儿子是由母亲生的,这是一个关系。继承母亲的特性和行为这是一个关系。记住这个就理解了。

a = 1
b = "abc"
print(type(1))
print(type(int))
print(type(b))
print(type(str))

class Student:
    pass

class MyStudent(Student):
    pass


stu = Student()
print(type(stu))
print(type(Student))
print(int.__bases__)
print(str.__bases__)
print(Student.__bases__)
print(MyStudent.__bases__)
print(type.__bases__)
print(object.__bases__)
print(type(object))

 

2. Py中场景的内置类型(内置类型不是数据类型,是更广义的概念)。

  对象的三个特性:

  身份、用id查看,就是指的内存地址。

  类型、用type查看

  值、

  类型有哪些:

  None(全局只有一个)

  数值:

    int

    float    

    complex

    bool

  迭代类型:

  序列类型:

    list

    byte、bytearray、memoryview(二进制序列)

    range

    tuple

    str

    array

  映射(dict):

  集合:

    set

    frozenset(冻集合)

  上下文管理类型:

    with语句

  其他:

    模块类型

    class和实例

    函数类型

    方法类型

    代码类型

    ojbect对象

    type类型

    elipsis类型:省略号类型

    notimplemented类型。

 

posted @ 2019-06-04 01:20  时海涛|Thomas  阅读(135)  评论(0编辑  收藏  举报