Python:type、object、class与内置类型

Python:type、object、class

Python: 一切为对象

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

type是个类,生成的类也是对象,生成的实例是对象

>>>class Student:
>>>    pass
>>>
>>>stu = Student()
>>>type(stu)
__main__.Student
>>>Student.__base__
object
  • Student的基类是obj
>>>class MyStudent(Student):
>>>    pass
>>>
>>>MyStudent.__base__
__main__.Student
  • MyStudent继承Student
  • MyStudent的基类是Student
  • object是最顶层的基类

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

>>> type.__base__
object
>>> type(object)
type
>>> object.__bases__
()
  • object是type的实例
  • type继承object

我们可以把这些分为3类:

  • 第一类:type自成一类,type是自己的对象(可以实例化自己),type可以把所有变成他的对象

  • 第二类:list、str、Student…类会继承object,list、str、Student…是类,同时也是type的对象。object是所有的基类(一切都继承object

  • 第三类:生成的对象

Python 内置类型

对象的三个特征:

  1. 身份
  2. 类型
身份:每个对象身份均不同
>>> a = 1
>>> id(a)
4333971504
>>> a = {}
>>>id(a)
4393125064
类型
  • None(全局只有一个)
  • 数值
    • int
    • float
    • complex(复数)
    • bool
  • 迭代类型
  • 序列类型
    • list
    • bytes、bytearray、memoryview(二进制序列)
    • range
    • tuple
    • str
    • array
  • 映射(dict)
  • 集合

    • set
    • frozenset
  • 上下文管理类型(with)

  • 其他
    • 模块类型
    • class和实例
    • 函数类型
    • 方法类型
    • 代码类型
    • object对象
    • type类型
    • ellipsis类型
    • notimplemented类对象

None类型:Python在程序启动的时候会生成一个None对象

>>> a = None
>>> b = None
>>> id(a) == id(b)
True

猜你喜欢

转载自blog.csdn.net/zhaohaibo_/article/details/80642631