0
点赞
收藏
分享

微信扫一扫

Python----type、object和class的关系


1 type类生成具体的类,具体的类则生成具体的实例

type->int->1,type->str->“abc”

a=100
b="hello world"
print(type(a))
print(type(int))
print(type(b))
print(type(str))

执行结果如下:

<class 'int'>
<class 'type'>
<class 'str'>
<class 'type'>

2 对于自定义类,对象由自定义的类生成的,而自定义的类同样也是由type生成的

class Student:
pass

stu=Student()
print(type(stu))
print(type(Student))

执行结果如下:

<class '__main__.Student'>
<class 'type'>

3 object类是所有类的最顶层的基类

print(int.__bases__)
print(str.__bases__)

class People:
pass

class Person(People):
pass

print(Person.__bases__)
print(People.__bases__)

执行结果如下:

(<class 'object'>,)
(<class 'object'>,)
(<class '__main__.People'>,)
(<class 'object'>,)

4、object类是由type类实例化而来的,而type的基类又是object,而object的基类则为空

print(type(object))
print(type.__bases__)
print(object.__bases__)

执行结果:

<class 'type'>
(<class 'object'>,)
()

5 type,object 和class 的关系

  • object 是所有类的顶层基类
  • type 的基类也是object
  • object是type的实例
  • type 是 type的实例

------->|
| |
| |<---实例-----|
|--------type object<--继承---|
|----继承---->| |
| |
|<----------实例----------list
|<----------实例----------str
|<----------实例----------dict
|<----------实例----------tuple


举报

相关推荐

0 条评论